linux日常使用记录

2023-11-24
13分钟阅读时长

由于公司开始强制使用Linux桌面系统,记录一下使用中遇到的问题。

发行版选择

本来先尝试了Ubuntu 22.04和KDE Neon做为开发环境,但是体验都不太好:

KDE Neon与日常使用的软件兼容性很差,主要是大部分软件都是GTK搞的;

原生Ubuntu的蓝牙耳机连接经常断连;

Deepin20.9的docker安装有问题,k3s也无法正常使用;Deepin 23就更离谱了,我的连安装界面都进不去。

优麒麟版本的linux,系统快捷键不能改,很麻烦。

Debian系还是推荐使用Linux mint Cinamon,或者直接用arch也行,常用软件也比较好装。

软件源

除了发行版自带的软件源之外,还有几个流行的安装方式,比如snap、linuxbrew和flathub.

国产的还有星火商店,也可以安装一些常用软件,这些都是跨发行版的。

个人还是推荐星火商店+apt,其他几个也可以用,但是需要配置国内软件源,不然下载速度感人。

字体

全局字体推荐使用霞鹜新晰黑屏幕阅读版,比较清晰。全局字体不推荐使用楷体,主要是太细了,如果想要用的话,可以用这个屏幕阅读版,我的chrome字体和Android字体用的都是这个,感觉还不错。另外字体推荐放在~/.fonts里面,这样重装系统不会丢失。刷新字体使用fc-cache -vf即可,查看字体名称可以用fc-list

WezTerm配置

终端推荐wezterm,可以跨平台使用,配置文件使用lua,比较方便(~/.config/wezterm/wezterm.lua):

local wezterm = require 'wezterm'

local act = wezterm.action
local mykeys = {}

-- 重新定义Tab切换快捷键
-- 描述:通过alt+1/2/3/../8进行切换Tab标签
for i = 1, 8 do
  table.insert(mykeys, {
    key = tostring(i),
    mods = 'ALT',
    action = act.ActivateTab(i - 1),
  })
end

-- 重新定义左右分割
-- 描述:通过ctrl+shift+s
table.insert(mykeys, {
    key = 's',
    mods = 'CTRL|SHIFT',
    action = wezterm.action.SplitHorizontal { domain = 'CurrentPaneDomain' },
})

-- 重新定义上下分割
-- 描述:通过ctrl+shift+d
table.insert(mykeys, {
    key = 'd',
    mods = 'CTRL|SHIFT',
    action = wezterm.action.SplitVertical { domain = 'CurrentPaneDomain' },
})

table.insert(mykeys, {
    key = 'F11',
    mods = 'CTRL',
    action = wezterm.action.ToggleFullScreen,
})

-- 重新定义分屏窗口切换快捷键
-- 描述:通过ctrl+shift+hjkl
table.insert(mykeys,  {
    key = 'h', --左侧的分屏窗口
    mods = 'CTRL|SHIFT',
    action = act.ActivatePaneDirection 'Left',
})

table.insert(mykeys, {
    key = 'l', -- 右侧的分屏窗口
    mods = 'CTRL|SHIFT',
    action = act.ActivatePaneDirection 'Right',
})

table.insert(mykeys, {
    key = 'k', -- 上侧的分屏窗口
    mods = 'CTRL|SHIFT',
    action = act.ActivatePaneDirection 'Up',
})

table.insert(mykeys, {
    key = 'j', -- 下侧的分屏窗口
    mods = 'CTRL|SHIFT',
    action = act.ActivatePaneDirection 'Down',
})

local config = {
  check_for_updates = false,

  keys = mykeys,

  window_decorations = "INTEGRATED_BUTTONS|RESIZE",

  font = wezterm.font_with_fallback {
      "FiraCode Nerd Font Mono",
      "LXGW WenKai GB Screen",
  },

  color_scheme = 'MaterialDark',
}

return config

SSH参考配置

wezterm的问题是不支持zmodem,也就是lrzsz的上传下载,可以用trzsz来代替。

具体方法是在本地安装tssh,并打开zmodem支持,这样就可以正常在服务器使用rz/sz命令了。

一个参考的~/.ssh/config配置如下:

Host *
ServerAliveInterval 60
#!! EnableZmodem Yes

Host github.com
User git
Port 22
Hostname github.com
TCPKeepAlive yes
ProxyCommand nc -v -x 127.0.0.1:7890 %h %p

Host ssh.github.com
Hostname ssh.github.com
Port 443
User git
TCPKeepAlive yes

Host prod
HostName zzzz.bastionhost.aliyuncs.com
Port 60022
User zzzz
#!! encPassword zzzzzzzz
PubkeyAcceptedKeyTypes +ssh-rsa
HostKeyAlgorithms +ssh-rsa

这里以#!!开头的配置都是供tssh使用的.

输入法

输入法框架只推荐fcitx,ibus各种延迟卡顿,fcitx5和钉钉的兼容性很差。另外如果用的机械硬盘,换成ssd之后输入法卡顿会有很大改善。

我目前用的是rime输入法,推荐使用这个脚本进行安装,还是很方便的。个性化配置可以修改~/.config/fcitx/rime/default.yaml文件,可以删除掉default.custom.yaml,不然会被那边的覆盖掉。

参考配置如下:

# 要比共享目录的同名文件的 config_version 大才可以生效
config_version: '2024-02-07'


# 方案列表
schema_list:
  # 可以直接删除或注释不需要的方案,对应的 *.schema.yaml 方案文件也可以直接删除
  # 除了 t9,它依赖于 rime_ice,用九宫格别删 rime_ice.schema.yaml
  - schema: rime_ice               # 雾凇拼音(全拼)


# 菜单
menu:
  page_size: 9  # 候选词个数


# 方案选单相关
switcher:
  caption: 「方案选单」
  hotkeys:
    - F4
  save_options:  # 开关记忆(方案中的 switches),从方案选单(而非快捷键)切换时会记住的选项,需要记忆的开关不能设定 reset
    - traditionalization
    - emoji
    - full_shape
  fold_options: false            # 呼出时是否折叠,多方案时建议折叠 true ,一个方案建议展开 false
  abbreviate_options: true      # 折叠时是否缩写选项
  option_list_separator: ' / '  # 折叠时的选项分隔符


# 中西文切换
#
# good_old_caps_lock:
# true   切换大写
# false  切换中英
# macOS 偏好设置的优先级更高,如果勾选【使用大写锁定键切换“ABC”输入法】则始终会切换输入法。
#
# 切换中英:
# 不同的选项表示:打字打到一半时按下了 CapsLock、Shift、Control 后:
# commit_code  上屏原始的编码,然后切换到英文
# commit_text  上屏拼出的词句,然后切换到英文
# clear        清除未上屏内容,然后切换到英文
# inline_ascii 切换到临时英文模式,按回车上屏后回到中文状态
# noop         屏蔽快捷键,不切换中英,但不要屏蔽 CapsLock
ascii_composer:
  good_old_caps_lock: true  # true | false
  switch_key:
    Caps_Lock: clear      # commit_code | commit_text | clear
    Shift_L: commit_code  # commit_code | commit_text | inline_ascii | clear | noop
    Shift_R: noop         # commit_code | commit_text | inline_ascii | clear | noop
    Control_L: noop       # commit_code | commit_text | inline_ascii | clear | noop
    Control_R: noop       # commit_code | commit_text | inline_ascii | clear | noop


###################################################################################


# 下面的 punctuator recognizer key_binder 写了一些所有方案通用的配置项。
# 写在 default.yaml 里,方便多个方案引用,就是不用每个方案都写一遍了。


# 标点符号
# 设置为一个映射,就自动上屏;设置为多个映射,如 '/' : [ '/', ÷ ] 则进行复选。
#   full_shape: 全角没改,使用预设值
#   half_shape: 标点符号全部直接上屏,和 macOS 自带输入法的区别是
#              '|' 是半角的,
#              '~' 是半角的,
#              '`'(反引号)没有改成 '·'(间隔号)。
punctuator:
  full_shape:
    ' ' : { commit: ' ' }
    ',' : { commit: , }
    '.' : { commit: 。 }
    '<' : [ 《, 〈, «, ‹ ]
    '>' : [ 》, 〉, », › ]
    '/' : [ /, ÷ ]
    '?' : { commit: ? }
    ';' : { commit: ; }
    ':' : { commit: : }
    '''' : { pair: [ '‘', '’' ] }
    '"' : { pair: [ '“', '”' ] }
    '\' : [ 、, \ ]
    '|' : [ ·, |, '§', '¦' ]
    '`' : `
    '~' : ~
    '!' : { commit: ! }
    '@' : [ @, ☯ ]
    '#' : [ #, ⌘ ]
    '%' : [ %, '°', '℃' ]
    '$' : [ ¥, '$', '€', '£', '¥', '¢', '¤' ]
    '^' : { commit: …… }
    '&' : &
    '*' : [ *, ·, ・, ×, ※, ❂ ]
    '(' : (
    ')' : )
    '-' : -
    '_' : ——
    '+' : +
    '=' : =
    '[' : [ 「, 【, 〔, [ ]
    ']' : [ 」, 】, 〕, ] ]
    '{' : [ 『, 〖, { ]
    '}' : [ 』, 〗, } ]
  half_shape:
    ',' : ','
    '.' : '。'
    '<' : '《'
    '>' : '》'
    '/' : '/'
    '?' : '?'
    ';' : ';'
    ':' : ':'
    '''' : { pair: [ '‘', '’' ] }
    '"' : { pair: [ '“', '”' ] }
    '\' : '、'
    '|' : '|'
    '`' : '`'
    '~' : '~'
    '!' : '!'
    '@' : '@'
    '#' : '#'
    '%' : '%'
    '$' : '¥'
    '^' : '……'
    '&' : '&'
    '*' : '*'
    '(' : '('
    ')' : ')'
    '-' : '-'
    '_' : ——
    '+' : '+'
    '=' : '='
    '[' : '【'
    ']' : '】'
    '{' : '「'
    '}' : '」'


# 处理符合特定规则的输入码,如网址、反查
# 此处配置所有方案通用的;各方案中另设专有的,比如全拼的拼字用 u,双拼的拼字用 L
recognizer:
  patterns:
    email: "^[A-Za-z][-_.0-9A-Za-z]*@.*$"   # 自带的,email 正则
    # uppercase: "[A-Z][-_+.'0-9A-Za-z]*$"  # 自带的,大写字母开头后,可以输入[-_+.'0-9A-Za-z]这些字符(和雾凇有些冲突,关闭了)
    url: "^(www[.]|https?:|ftp[.:]|mailto:|file:).*$|^[a-z]+[.].+$"  # 自带的,URL 正则
    # 一些不直接上屏的配置示例:
    # url_2: "^[A-Za-z]+[.].*"     # 句号不上屏,支持 google.com abc.txt 等网址或文件名,使用句号翻页时需要注释掉
    # colon: "^[A-Za-z]+:.*"       # 冒号不上屏
    # underscore: "^[A-Za-z]+_.*"  # 下划线不上屏


# 快捷键
key_binder:
  # Lua 配置: 以词定字(上屏当前词句的第一个或最后一个字),和中括号翻页有冲突
  select_first_character: "bracketleft"  # 左中括号 [
  select_last_character: "bracketright"  # 右中括号 ]

  bindings:
    # 翻页 , .
    - { when: paging, accept: comma, send: Page_Up }
    - { when: has_menu, accept: period, send: Page_Down }

    # optimized_mode_switch:
    # - { when: always, accept: Control+Shift+space, select: .next }
    # - { when: always, accept: Shift+space, toggle: ascii_mode }
    # - { when: always, accept: Control+comma, toggle: full_shape }
    # - { when: always, accept: Control+period, toggle: ascii_punct }
    # - { when: always, accept: Control+slash, toggle: traditionalization }

    # 将小键盘 0~9 . 映射到主键盘,数字金额大写的 Lua 如 R1234.5678 可使用小键盘输入
    - {accept: KP_0, send: 0, when: composing}
    - {accept: KP_1, send: 1, when: composing}
    - {accept: KP_2, send: 2, when: composing}
    - {accept: KP_3, send: 3, when: composing}
    - {accept: KP_4, send: 4, when: composing}
    - {accept: KP_5, send: 5, when: composing}
    - {accept: KP_6, send: 6, when: composing}
    - {accept: KP_7, send: 7, when: composing}
    - {accept: KP_8, send: 8, when: composing}
    - {accept: KP_9, send: 9, when: composing}
    - {accept: KP_Decimal, send: period, when: composing}

大部分配置都可以删掉,只保留必要的快捷键和映射。个人习惯使用逗号和句号翻页,所以仅保留了这个。另外,自动纠错功能建议少用,会导致输入法卡顿,我是直接删除掉自动纠错配置了的。

rime_ice.schema.yml保留如下配置:

# 方案说明
schema:
  schema_id: rime_ice
  name: 雾凇拼音
  version: "2023-10-22"
  author:
    - Dvel
  description: |
    雾凇拼音
    https://github.com/iDvel/rime-ice
  dependencies:
    - melt_eng  # 英文输入,作为次翻译器挂载到拼音方案
    - liangfen  # 两分拼字,作为反查挂载到拼音方案


# 开关
# 鼠须管 0.16 后,用快捷键切换时的提示文字由 states 定义
# states: 方案选单显示的名称。可以注释掉,仍可以通过快捷键切换。
# reset: 默认状态。 注释掉后,切换窗口时不会重置到默认状态。
switches:
  - name: ascii_mode
    states: [ 中, A ]
    reset: 0
  - name: ascii_punct # 中英标点
    states: [ ¥, $ ]
    reset: 0
  - name: traditionalization
    states: [ 简, 繁 ]
    reset: 0
  - name: emoji
    states: [ 💀, 😄 ]
    reset: 1
  - name: full_shape
    states: [ 半角, 全角 ]
    reset: 0


# 输入引擎
engine:
  processors:
    - lua_processor@select_character      # 以词定字
    - ascii_composer
    - recognizer
    - key_binder
    - speller
    - punctuator
    - selector
    - navigator
    - express_editor
  segmentors:
    - ascii_segmentor
    - matcher
    - abc_segmentor
    - punct_segmentor
    - fallback_segmentor
  translators:
    - punct_translator
    - script_translator
    - lua_translator@date_translator      # 时间、日期、星期
    - table_translator@custom_phrase      # 自定义短语 custom_phrase.txt
    - table_translator@melt_eng           # 英文输入
    - reverse_lookup_translator@liangfen  # 反查,两分拼字
    - lua_translator@unicode              # Unicode
    - lua_translator@number_translator    # 数字、金额大写
  filters:
    - lua_filter@corrector                # 错音错字提示
    - simplifier@emoji                    # Emoji
    - simplifier@traditionalize           # 简繁切换
    - lua_filter@v_filter                 # v 模式 symbols 优先(否则是英文优先)
    - lua_filter@autocap_filter           # 英文自动大写
    - lua_filter@reduce_english_filter    # 降低部分英语单词在候选项的位置
    - uniquifier                          # 去重


# Lua 配置: 日期、时间、星期、ISO 8601、时间戳的触发关键字
date_translator:
  date: rq       # 日期: 2022-11-29
  time: sj       # 时间: 18:13
  week: xq       # 星期: 星期二
  datetime: dt   # ISO 8601: 2022-11-29T18:13:11+08:00
  timestamp: ts  # 时间戳: 1669716794


# Lua 配置: 降低部分英语单词在候选项的位置。
# 详细介绍 https://dvel.me/posts/make-rime-en-better/#短单词置顶的问题
# 正常情况: 输入 rug 得到 「1.rug 2.如果 …… 」
# 降低之后: 输入 rug 得到 「1.如果 2.rug …… 」
# 几种模式:
# all     降低所有 3~4 位长度、前 2~3 位是完整拼音、最后一位是声母的单词
# none    不降低任何单词,相当于没有启用这个 Lua
# custom  自定义,只降低 words 里的
# (匹配的是编码,不是单词)
reduce_english_filter:
  mode: custom  # all | none | custom
  idx: 2        # 降低到第 idx 个位置
  # 自定义的单词列表,示例列表没有降低部分常用单词,如 and cat mail Mac but bad shit ……
  words: [aid, ann,
  bail, bait, bam, band, bans, bat, bay, bend, bent, benz, bib, bid, bien, biz, boc, bop, bos, bud, buf,
  cab, cad, cain, cam, cans, cap, cas, cef, chad, chan, chap, chef, cher, chew, chic, chin, chip, chit, coup, cum, cunt, cur,
  dab, dag, dal, dam, dent, dew, dial, diet, dim, din, dip, dis, dit, doug, dub, dug, dunn,
  fab, fax, fob, fog, foul, fur,
  gag, gail, gain, gal, gam, gaol, ged, gel, ger, guam, gus, gut,
  hail, ham, hank, hans, hat, hay, heil, heir, hem, hep, hud, hum, hung, hunk, hut,
  jim, jug,
  kat,
  lab, lad, lag, laid, lam, laos, lap, lat, lax, lay, led, leg, lex, liam, lib, lid, lied, lien, lies, linn, lip, lit, liz, lob, lug, lund, lung, lux,
  mag, maid, mann, mar, mat, med, mel, mend, mens, ment, mil, mins, mint, mob, moc, mod, mop, mos, mot, mud, mug, mum, nail,
  nap, nat, nay, neil, nib, nip, noun, nous, nun, nut,
  pac, paid, pail, pain, pair, pak, pal, pam, pans, pant, pap, par, pat, paw, pax, pens, pic, pier, pies, pins, pint, pit, pix, pod, pop, pos, pot, pour, pow, pub,
  rand, rant, rent, rep, res, ret, rex, rib, rid, rig, rim, rub, rug, rum, runs,
  sac, sail, sal, sam, sans, sap, saw, sax, sew, sham, shaw, shin, sig, sin, sip, sis, suit, sung, suns, sup, sur, sus,
  tad, tail, taj, tar, tax, tec, ted, tel, ter, tex, tic, tied, tier, ties, tim, tin, tit, tour, tout, tum,
  wag, wand, womens, wap, wax, weir, won,
  yan, yen]


# 主翻译器,拼音
translator:
  dictionary: rime_ice           # 挂载词库 rime_ice.dict.yaml
  spelling_hints: 8              # corrector.lua :为了让错音错字提示的 Lua 同时适配全拼双拼,将拼音显示在 comment 中
  always_show_comments: true     # corrector.lua :Rime 默认在 preedit 等于 comment 时取消显示 comment,这里强制一直显示,供 corrector.lua 做判断用。
  initial_quality: 1.2           # 拼音的权重应该比英文大
  preedit_format:                # preedit_format 影响到输入框的显示和“Shift+回车”上屏的字符
    - xform/([jqxy])v/$1u/       # 显示为 ju qu xu yu
    # - xform/([nl])v/$1ü/       # 显示为 nü lü
    # - xform/([nl])ue/$1üe/     # 显示为 nüe lüe
    - xform/([nl])v/$1v/         # 显示为 nv lv
    - xform/([nl])ue/$1ve/       # 显示为 nve lve


# 次翻译器,英文
melt_eng:
  dictionary: melt_eng     # 挂载词库 melt_eng.dict.yaml
  enable_sentence: false   # 禁止造句
  enable_user_dict: false  # 禁用用户词典
  initial_quality: 1.1     # 初始权重
  comment_format:          # 自定义提示码
    - xform/.*//           # 清空提示码


# 反查:两分(拼字)
liangfen:
  dictionary: liangfen     # 挂载两分词典 liangfen.dict.yaml
  prefix: "u"              # 以 u 开头来反查
  enable_completion: true  # 补全提示
  # tips: 〔两分〕          # 反查时显示的文字,建议注释掉,否则很多 u 开头的英文单词也会显示这个


# 自定义短语:custom_phrase.txt
custom_phrase:
  dictionary: ""
  user_dict: custom_phrase
  db_class: stabledb
  enable_completion: false # 补全提示
  enable_sentence: false   # 禁止造句
  initial_quality: 99      # custom_phrase 的权重应该比 pinyin 和 melt_eng 大


# Emoji
emoji:
  opencc_config: emoji.json
  option_name: emoji


# 简繁切换
traditionalize:
  option_name: traditionalization
  opencc_config: s2t.json             # s2t.json | s2hk.json | s2tw.json | s2twp.json
  tips: none                          # 转换提示: all 都显示 | char 仅单字显示 | none 不显示。
  excluded_types: [ reverse_lookup ]  # 不转换反查(两分拼字)的内容


# 标点符号
# punctuator 下面有三个子项:
#   full_shape 全角标点映射
#   half_shape 半角标点映射
#   symbols    Rime 的预设配置是以 '/' 前缀开头输出一系列字符,自定义的 symbols_v.yaml 修改成了 'v' 开头。
punctuator:
  full_shape:
    __include: default:/punctuator/full_shape  # 从 default.yaml 导入配置
  half_shape:
    __include: default:/punctuator/half_shape  # 从 default.yaml 导入配置
  symbols:
    __include: symbols_v:/symbols              # 从 symbols_v.yaml 导入配置


# 处理符合特定规则的输入码,如网址、反查
recognizer:
  import_preset: default  # 从 default.yaml 继承通用的
  patterns:  # 再增加方案专有的:
    punct: "^v([0-9]|10|[A-Za-z]+)$"  # 响应 symbols_v.yaml 的 symbols,用 'v' 替换 '/'
    reverse_lookup: "^u[a-z]+$"       # 响应两分拼字的反查
    unicode: "^U[a-f0-9]+"            # 响应 Unicode
    number: "^R[0-9]+[.]?[0-9]*"      # 响应 number_translator


# 从 default 继承快捷键
key_binder:
  import_preset: default # 从 default.yaml 继承通用的


# 拼写设定
speller:
  # 如果不想让什么标点直接上屏,可以加在 alphabet,或者编辑标点符号为两个及以上的映射
  alphabet: zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
  delimiter: " '"  # 第一位<空格>是拼音之间的分隔符;第二位<'>表示可以手动输入单引号来分割拼音。
  algebra:
    ### 超级简拼
    - erase/^hm$/ # 响应超级简拼,取消「噷 hm」的独占
    - erase/^m$/  # 响应超级简拼,取消「呣 m」的独占
    - erase/^n$/  # 响应超级简拼,取消「嗯 n」的独占
    - erase/^ng$/ # 响应超级简拼,取消「嗯 ng」的独占
    - abbrev/^([a-z]).+$/$1/   # 超级简拼
    - abbrev/^([zcs]h).+$/$1/  # 超级简拼中,zh ch sh 视为整体(ch'sh → 城市),而不是像这样分开(c'h's'h → 吃好睡好)。

    ### v u 转换,增加对词库中「nue/nve」「qu/qv」等不同注音的支持
    - derive/^([nl])ue$/$1ve/
    - derive/^([nl])ve$/$1ue/
    - derive/^([jqxy])u/$1v/
    - derive/^([jqxy])v/$1u/

对应的custom文件也建议直接删除,其他配置文件不需要修改。

右键点击托盘的输入法图标,重新启动,让配置文件生效。

如果想要修改字体,使用classic皮肤时,直接在界面上修改即可;其他皮肤需要修改配置文件才行。我个人反正是用的classic皮肤,比较简单。

键盘映射

我是一个改键党:必须使用Emacs的一些快捷键, 改键的开源软件其实很多,我先后尝试了几个,其中keyd的设置最简单,但是不知道为啥我设置之后没有生效…

最后能用的是xremap这个rust写的小软件,使用cargo安装即可。配置文件如下:

keymap:
  - name: Emacs
    application:
      not: [Emacs, wezterm-gui]
    remap:
      C-a: { with_mark: home }
      C-e: { with_mark: end }
      M-a: { with_mark: C-a }
      M-c: { with_mark: C-c }
      M-v: { with_mark: C-v }

我常用的只有这些,其他的都被我删掉了。不知道为什么,在wezterm中有时候还是无法使用ctrl+a,似乎有什么冲突。

在root的cronjob里加入:

 @reboot /home/tryao/.cargo/bin/xremap /home/tryao/.xremap.yml

之后即可开机自启动了。

实际体验很好,rust写的小软件性能很强,使用中基本没有延迟。

上面的映射有个问题:在xterm中无法正常使用home, end,需要加一个配置(~/.Xresources):

XTerm*termName: xterm-256color
URxvt*termName: rxvt-unicode

这样才行。

其他

网易云官方的播放器不能用,建议改为YesPlayMusic音乐播放器这个开源的播放器。

微信实际上有原生的版本,可以从deepin论坛下载,不过非deepin的debian系需要额外装一些依赖才能使用。也可以使用星火商店,不过依赖的deb包还是要手动安装(如果不是国产发行版)。

注意,原生微信目前(v2.1.9)在LinuxMint下新消息没有提示,这个没办法,可以考虑改用wine版本微信。

2024.03更新:微信重构了原生的版本,现在已经可以正常使用了,星火商店可以下载。

命令行提示工具推荐使用starship,可以配合zsh使用,也可以直接在bash使用。个人感觉比oh-my-zsh+powerline10k体验更好,而且这个还能配合powershell使用。

IDE的话,我买了正版的jetbrain全家桶,所以直接用jetbrain toolbox安装即可,而且默认是装在home目录下,重装系统不会丢失。vscode也是能正常使用的。

剪贴板软件可以用CopyQ,快捷键绑定到命令copyq toggle即可(不要使用自带的全局快捷键,没用)。

截图软件可以用火焰截图,快捷键绑定到命令flameshot gui即可,功能很丰富。

办公软件使用wps 2019,这个没啥说的,自带的那个office可以用apt卸载掉。另外xmind也支持Linux,当然你也可以使用wps里面自带的processOn工具。不过wps2019很久没更新了,自带的PDF浏览器不支持高亮标注,也是很蛋疼的。

番茄钟软件,可以用wnr,同样支持Windows。

梯子可以用cfw或者clash verge,星火商店里面可以直接下载…

Avatar

个人介绍

兴趣使然的程序员,博而不精,乐学不倦