• Fedora COSMIC Atomic upgrade和rebase

    查询基线

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 查询基线

    source /etc/os-release
    ostree remote refs ${ID} | grep $(arch) | grep ${VARIANT_ID}


    # 查询基线更新情况(查询45版本)
    ostree remote summary fedora | grep -A 5 45/$(arch)

    切换基线

    rpm-ostree rebase fedora:fedora/45/x86_64/updates/cosmic-atomic

    Attention

    第一次切换基线时间比较长,基本需要下载全量包;后续在不同基线中切换时,只会下载更新的包。Fedora COSMIC Atomic 45 发布之后基线一直没有更新(只更新了update基线),从44->45时要rebase到update基线。

  • Fedora COSMIC Atomic解决访问GitHub域名污染问题

    原理

    让域名解析从本地/etc/hosts文件读取ip地址,正确的IP地址从https://raw.githubusercontent.com/521xueweihan/GitHub520/main/hosts获取。

    方法

    获取github域名对应的IP地址,更新到/etc/hosts文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #!/bin/bash
    # update-github-hosts
    set -e
    HOSTS_FILE="/etc/hosts"
    TMP=$(mktemp)
    # 下载github520 hosts
    curl -s https://raw.githubusercontent.com/521xueweihan/GitHub520/main/hosts > "$TMP"
    # 先把旧的 # GitHub520 区块删掉,再追加新的
    sudo sed -i '/# GitHub520/,/# GitHub520 End/d' "$HOSTS_FILE"
    sudo tee -a "$HOSTS_FILE" < "$TMP"
    rm "$TMP"
    # 刷新dns缓存
    resolvectl flush-caches
    echo "hosts 更新完成"

    1. 将上述脚本拷贝到可执行文件目录中,赋予执行权限,如果遇到github无法访问时可以尝试执行sudo /patch/update-github-hosts

    2. 执行dig github.com命令检查域名对应的IP地址是否已经刷新。

  • 使用http ppt skill生成演示文稿

    安装Skill 在你常用工具中输入”安装html ppt skill ,参考链接:https://github.com/lewislulu/html-ppt-skill“ 生成演示文稿 在文件的工作目录下,使用以下提示词生成演示文稿 12345678...
  • 为Obsidian配置本地图床

    安装piclist-core

    1. 通过npm命令安装
    1
    npm install piclist -g
    1. 查询安装的路径
    1
    2
    npm list -g --depth 0 # 查看全局安装的包
    npm get prefix # 查看全局安装路径

    找出picgo-server安装的具体路径。

    config.json配置

    根据系统情况下修改picgo-server的配置文件,并将config.json拷贝到piclist默认的用户目录下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    {
    "picBed": {
    "current": "local",
    "uploader": "local",
    "local": {
    "path": "图片需要本地存储的目录", //注意不同系统本地路径不一致,此路径也需要和http服务路径保持一致
    "customUrl": "http://localhost:8045", //此为图床访问的http服务地址
    "webPath": ""
    }
    },
    "buildIn": {
    "rename": {
    "enable": true,
    "format": "{Y}{m}{d}{h}{i}{s}"
    }
    },
    "settings": {
    "server": {
    "port": 36677,
    "host": "127.0.0.1",
    "enable": true
    }
    },
    "picgoPlugins": {}
    }

    Windows系统

    准备工作

    1. 官网下载:https://nssm.cc/download
    2. 解压后出nssm.exe后,不要移动 / 删除 nssm.exe,注册服务后它是服务载体NSSM
    3. 右键【开始菜单】→ 以管理员身份打开 CMD / PowerShell(必须管理员权限)
    4. cd 进入 nssm 所在目录

    通过nssm安装Windows服务

    1. 注册服务
    1
    2
    # nssm install <service_name> <executable_path>
    nssm install picgoServer $path/picgo-server.cmd -c "C:\Users\$username\AppData\Roaming\piclist\config.json"

    注意:注册服务时,config.json路径需要使用双引号包裹在执行 nssm install 命令前,$path/picgo-server.cmd -c "C:\Users\$username\AppData\Roaming\piclist\config.json"可以先测试命令执行后功能是否正常

    1. 启动服务
    1
    nssm start picgoServer

    卸载服务

    1
    nssm remove picgoServer
  • Fedora COSMIC Atomic 后需要安装必要的软件

    安装第三方源

    docker配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    curl -fsSL https://download.docker.com/linux/fedora/docker-ce.repo -o docker-ce.repo

    sudo install -o root -g root -m 644 docker-ce.repo /etc/yum.repos.d/docker-ce.repo

    sudo rm -f /etc/yum.repos.d/docker-ce.repo

    sudo tee /etc/yum.repos.d/docker-ce.repo > /dev/null <<'EOF'
    [docker-ce-stable]
    name=Docker CE Stable - $basearch
    baseurl=https://mirrors.aliyun.com/docker-ce/linux/fedora/$releasever/$basearch/stable
    enabled=1
    gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/docker-ce/linux/fedora/gpg
    EOF

    安装nofree源

    1
    2
    3
    rpm-ostree install \
    https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
    https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

    安装高频软件

    1
    2
    3
    rpm-ostree install fcitx5 fcitx5-rime fcitx5-configtool fcitx5-gtk3 fcitx5-gtk4 fcitx5-qt5 fcitx5-qt6 librime-lua \
    vim net-tools host-spawn \
    docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    1
    systemctl reboot
  • Fedora Atomic安装docker

    安装软件包 下载 docker 官方 repo 文件到系统 etc ostree 只读,不能 dnf config‑manager 12curl -fsSL https://download.docker.com/linux/fedora/docke...
  • Fedora Atomic安装node.js和npm

    原因 Atomic /usr 是只读OSTree镜像;系统nodejs的npm默认全局目录指向 /usr/lib/node_modules,root也无法写入,会直接报错 EACCES。 sudo npm‑g 不仅会权限报错,npm脚本以root执...
  • cosmic桌面系统中增加dns配置解决github无法访问的问题

    GitHub访问慢可能的原因 GitHub访问慢大概率是是因为DNS污染,无法解写GitHub域名。 解决方案 通常可以通过本机的网络的DNS配置来解决。现代Linux系统DNS配置通常是由取自DHCP服务,由系统网络管理服务自动配置,因此我们可以通...
  • 万象输入法自定义配置

    wanxiang_pure输入法自定义配置

    主要是在万象pure输入配置中增加常用的lua和OpenCC和简繁体转换。其中lua来自与wanxiang base,OpenCC和简繁体转换来自于moran。简化配置如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    # 将以下内容拷贝到wanxiang_pure.custom.yaml文件中。
    # 1. 需要从moran输入法中拷贝opencc目录(只需要保留和emoji和简中转繁体相关配置即可)
    # 2. 从wanxiang base配置中拷贝lua文件夹
    patch:
    #候选数量
    menu/page_size: 5

    schema/dependencies/=:
    - wanxiang_mixedcode #混合编码
    - wanxiang_reverse #反查
    - wanxiang_english #英文

    switches/=:
    - name: ascii_mode
    states: [中文, 英文]
    - name: ascii_punc
    states: [中标, 英标]
    - name: full_shape
    states: [半角, 全角]
    - name: emoji
    states: [ 表情关, 表情开]
    reset: 1
    - options: [ std_s, std_s2t ]
    states: [ 简, 繁 ]

    # 输入引擎,增加常用功能
    engine/processors/=:
    - lua_processor@*wanxiang.super_processor
    - ascii_composer
    - recognizer
    - key_binder
    - speller
    - punctuator
    - selector
    - navigator
    - express_editor
    engine/segmentors/=:
    - ascii_segmentor
    - matcher
    - matcher@recognizer_secondary
    - abc_segmentor
    - punct_segmentor
    - fallback_segmentor
    engine/translators/=:
    - punct_translator
    - script_translator
    - lua_translator@*wanxiang.shijian
    - table_translator@custom_phrase
    - table_translator@wanxiang_english
    - table_translator@wanxiang_mixedcode
    engine/filters:
    - lua_filter@*wanxiang.super_lookup
    - simplifier@emoji
    - simplifier@std_s2t
    - uniquifier #去重,必须在最后

    # 主翻译器,自定义用户字典
    translator/+:
    user_dict: custom/cn.pure

    # 中文、英文、数字、符号等混合词汇
    wanxiang_english:
    dictionary: wanxiang_english
    user_dict: custom/en.pure
    enable_completion: true
    enable_sentence: false
    initial_quality: 2.1
    comment_format:
    - xform/^~.+$//
    english_spacing: smart
    spacing_timeout: 5
    max_candidates: 5
    trigger: "\\"

    wanxiang_mixedcode:
    dictionary: wanxiang_mixedcode
    db_class: stabledb
    enable_completion: true
    enable_sentence: false
    initial_quality: 2
    comment_format:
    - xform/.*//

    super_processor:
    enable_backspace_limit: true
    enable_seg_loop: true
    enable_tone_fallback: true
    enable_predict_space: false
    kp_number_mode: auto
    limit_repeated: "8,40" #格式:"最大重复声母数,最大候选字数"
    select_character: "[,]" # 开启以词定字,自动拆解第一位上屏首字,第二位上屏尾字

    # 部件拆字反查
    wanxiang_reverse:
    tag: wanxiang_reverse
    dictionary: wanxiang_reverse
    enable_completion: true
    prefix: "`"
    tips: "〔反查:拆分|笔画〕"

    wanxiang_lookup:
    tags: [abc]
    key: "`"
    lookup: [wanxiang_reverse]
    data_source: [db]
    enable_tone: true
    enable_direct: false

    emoji:
    opencc_config: moran_emoji.json
    option_name: emoji
    tips: none
    tags: [abc, number]

    std_s2t:
    opencc_config: s2t.json
    option_name: std_s2t
    tags: [abc, number]

    recognizer_secondary:
    patterns:
    english: '(^[A-Za-z]{4}[A-Za-z]*)|(^[A-Z][A-Za-z]*)|(^[a-z][A-Z][a-zA-Z]*)|(^[a-z][a-z][A-Z][a-zA-Z]*)'

    # 拼写设定
    speller/alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA`;/\›
    speller/initials: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA/›

    # 处理符合特定规则的输入码,如网址、反查
    recognizer/patterns/=:
    punct: "^/([0-9]|10|[A-Za-z]+)$"
    wanxiang_reverse: "^`[A-Za-z;]*$"
    sjc: "^[/v]rc\\d+[-+=op]?$"
    email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$" # email @ 之后不上屏
    url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$" # URL

    # 导入足够的符号,用于/查询符号
    punctuator/=:
    digit_separators: ",."
    __include: wanxiang_symbols:/symbol_table
    __patch: wanxiang_symbols:/symbols

    # 从 default 继承快捷键
    key_binder/shijian_keys: ["/", "v"]

    # 设置时间格式
    date_formats:
    - "Y年m月d日"
    - "Y-m-d"
    - "Y/m/d"
    - "Y.m.d"
    - "Ymd"
    time_formats:
    - "H:M"
    - "H点M分"
    - "H:M:S"
    datetime_formats:
    - "Y-m-d H:M:S"
    - "YmdHMS"
    - "Y年m月d日 H点M分"

  • 在Zed中配置opencode

    在zed和opencode继承有两种方式: 通过agent server自动安装,这是一个黑盒安装方式,进度不明 通过手工配置opencode和zed继承 下载opencode 首先下载opencode二进制文件,然后将其放置在合适的位置,例如/...
/8