添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
跳转到导航 跳转到搜索

※ 系统工具/预安装软件包不算(也包括了Flatpak、nano、unzip等旧版本系统或不默认附加的工具),snap、docker、cargo、git、pipx等不符合本文记录目的服务暂时也懒得记录。有些工具为了图方便我用Flatpak下载,但是它消耗的资源有 亿点点 多。

※ 本文原是从windows转linuxmint21时所编,后从linumint21升为22重新装了系统并增加、删除了部分软件,21版本见存档: .today

  • 1 新系统的第一步
  • 1.1 输入法
  • 1.1.1 fcitx5
  • 1.1.2 剪贴板(diodon)
  • 1.2 浏览器
  • 1.2.1 Firefox
  • 1.2.2 Chrome
  • 1.2.3 Firefox Nightly
  • 1.3 本地WIKI
  • 1.4 社交通讯
  • 1.4.1 Thunderbird(邮件管理)
  • 1.4.2 Kleopatra(pgp加/解密)
  • 1.4.3 Telegram(浏览梗图御用)
  • 1.4.4 HexChat(IRC客户端)
  • 1.5 系统美化
  • 1.5.1 neofetch(系统信息)
  • 1.5.2 conky(系统监视器)
  • 1.5.3 Hydraaper(壁纸管理)
  • 1.6 体验增强
  • 1.6.1 系统设置
  • 1.6.2 挂载设备
  • 1.6.3 显卡驱动
  • 1.6.4 小程序/拓展
  • 1.6.5 Ulauncher(应用启动器)
  • 1.7 本地交互
  • 1.7.1 syncthing(文件自动同步)
  • 1.7.2 LocalSend(局域网通讯)
  • 新系统的第一步

    各输入法大同小异,真有区别还是在词库上,尤其是具备云词库功能的准确率,但云词库面临着严重的隐私隐患(比如搜狗输入法),作为平替的方案便是充实本地词库,除了通过日常输入累积外,可以借助 深蓝词库转换 等工具将例如搜狗输入法的词库转为适用于其他软件的词典格式。

    Linux下主流的 输入法 有fcitx与ibus,这两个都是 输入法框架 ,需要配合输入法引擎使用,其中有一些较为出名且在持续维护的例如 rime ,不过我对词库向来没有需求,Linuxmint22在系统设置页面安装的语言包附加的输入法引擎是 sunpinyin ,也就这么用了,也是下文基于的环境。

    fcitx5

    安装:官方的“系统设置”--“输入法”--“简体中文”界面安装语言支持包,并选择输入法框架为“Fcitx”,注销并重新登陆账户即可,附加的输入法引擎是sunpinyin,比21附加的00年代的拼音输入法的词库好用的多。

    • 输入法:将拼音输入法 设为首选 (设为首位);
    • 全局配置:提高 候选词个数 至10个;
      • 切换激活/非激活输入法: 左shift 右shift (主要是腾出 ctrl+空格 的快捷键)
      • 高级选项:
        • 切换全角(快捷键): ctrl+shift+空格 ,输入全角空格要用。
    • 附加组件:
      • 快速输入:将默认的触发键(分号)选为无,并自定义触发键为 ctrl+alt+f
      • 云拼音(云词典):为隐私计建议将之关闭,默认候选第二顺位为从谷歌获取的结果,准确率(对于句子和成语)自然高了很多,但因云词典的原理是将您输入的音频提交至服务器并获取结果自然就有很大的隐私隐患。
        • 不在乎隐私的话可以直接用搜狗拼音输入法,如果只是不放心国内公司那可放心启用。
      • Uuicode输入支持:增添快捷键 ctrl+shift+u (毕竟默认的还要多一个alt,输起来不太优雅)
    • 修改符号映射配置文件( /usr/share/fcitx/ data /punc.mb.zh_CN 下划线部分因使用的输入法引擎或有不同),将不常用的改为常用的: " “ ” ' ‘ ’ [ 【 】 ] 「 」

      剪贴板(diodon)

      ※ Fcitx5自带的剪贴板功能太简陋且只支持25个条目并且有字符数限制,专业的事还是交给专业的软件来做。

      https://wiki.ubuntu.com/Diodon

      安装: sudo apt-get install -y diodon

      设置快捷键:“系统设置”--“快捷键”--“自定义快捷键”,添加自定义快捷键,名称即辨识用的,命令填写“ /usr/bin/diodon ”,添加后选中该快捷键并分配快捷键( win/super+V )。

      Firefox

      https://www.mozilla.org/en-US/firefox/new/

      ※ 参考: 用户配置文件——Firefox 保存书签、密码和其他用户数据的文件

      恢复旧数据:我选择直接复制整个配置文件夹(存储位置见: about:profiles ): /home/anon/.mozilla/firefox/9zq59msp.default-release-1710658713560

      但也可以选择性的复制需要的文件以针对性恢复数据:

      书签、历史:

      • ./bookmarkbackups/ :每日备份一次的书签文件(再手动导出一份)
      • ./extensions/ :扩展插件文件夹
      • ./places.sqlite :书签、下载文件记录、浏览网页记录
      • 登陆账户的话一般会云同步。

      密码、cookie:

      • ./logins.json :账户和密码
      • ./key4.db :解密上述数据的密钥
      • ./cookies.sqlite :cookie数据

      站点数据:

      • ./webappsstore.sqlite :“每个网站的信息都被存储在此文件中”
        • 官方还说有个 ./chromeappsstore.sqlite 记录了 about:* 页面的信息,但没找到此文件。
      • ./permissions.sqlite ./content-prefs.sqlite :针对站点的设置(是否允许弹出窗口、页面缩放级别等)
      • ./favicons.sqlite :网页图标

      浏览器设置:

      • ./prefs.js :自定义的用户首选项设置(对话框、工具栏的布局)
      • ./handlers.json :不同格式文件的应对方案(保存、下载、打开)
      • ./formhistory.sqlite :搜索 历史、表单记录(自动填充)
      • ./search.json.mozlz4 :搜索引擎设置(我没专门设置,就没备份)

      Chrome

      https://chrome.google.com/

      chrome的cookie不清楚移植方案,数据是加密的,且没找到有什么解密密钥。只能通过第三方工具(如 HackBrowserData )解密出明文数据,无法直接被浏览器识别,一些批量导入/出cookies的插件都没试,也不乐意试,登陆账户能自动同步保存的账户密码就够了。自chrome自带的翻译功能被墙后,也不原生支持代理设置,我也就不用它了。

      Firefox Nightly

      安装这么多浏览器怪就怪稳定版迟迟不实装垂直标签页的功能(但 自定义右键菜单 对它不起作用!)。

      • 选择对应版本并下载: https://www.mozilla.org/zh-CN/firefox/all/desktop-nightly/linux64/zh-CN/
      • 解压文件,例如我解压并重命名到了: /home/anon/app/firefox-nightly/
      • 创建.desktop文件(直接运行的是无法固定到任务栏的): nano ~/.local/share/applications/firefox-nightly.desktop
      • 填入以下内容:
      • [Desktop Entry]
        Name=Firefox Nightly
        GenericName=Web Browser
        Comment=Access the Internet
        Exec=/home/anon/app/firefox-nightly/firefox %u
        Terminal=false
        Type=Application
        Icon=/home/anon/app/firefox-nightly/browser/chrome/icons/default/default128.png
        Categories=Network;WebBrowser;
        MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;
        StartupNotify=true
        
      • 设置可执行权限:chmod +x ~/.local/share/applications/firefox-nightly.desktop

      本地WIKI

      按照 建站/web环境/LAMP 建站/框架/WIKI功能/安装框架 建站/框架/WIKI功能#备份/恢复/升级 操作安装相应服务并恢复数据,其他为WIKI服务的软件见: #系列站点御用 。到这里新系统就能投入生产了,毕竟日常也就是借助输入法和浏览器在本地搭建的mediawiki内编辑系列站点。

      Thunderbird(邮件管理)

      https://www.thunderbird.net/zh-CN/

      ※ 参考: 将 Thunderbird 的数据迁移到另一台计算机 Windows_to_Linux_迁移日志#Thunderbird

      直接备份: /home/anon/.thunderbird/随机字符.default-release

      复制该文件夹并修改 .thunderbird 目录下的 installs.ini profiles.ini ,将其中指向的配置文件目录修改为备份的文件夹目录。

      拓展工具: Birdtray (最小化邮件客户端),但维护似乎不是很积极,目前无法直接通过 apt-get install Birdtray 安装,非官方的Flatpak版本则有无法唤醒Thunderbird的问题 [1] 。尚未安装,在找替代品(就一个最小化到托盘的需求)。

      Kleopatra(pgp加/解密)

      https://apps.kde.org/kleopatra/

      安装: flatpak install flathub org.kde.kleopatra

      Telegram(浏览梗图御用)

      https://telegram.org/

      安装: flatpak install flathub org.telegram.desktop

      HexChat(IRC客户端)

      https://hexchat.github.io/

      安装: flatpak install flathub io.github.Hexchat

      配置文件路径: /home/anon/.config/hexchat

      • 服务器列表 : servlist.conf (也可以备份整个文件夹)

      neofetch(系统信息)

      配置文件位置: ~/.config/neofetch/config.conf

      添加一行: image_source="/home/anon/.config/neofetch/copland.txt" copland.txt 是目标ascii文件,这个路径指这个文件的目录,文件后缀、文件夹位置不重要,记得第一行要加“ ${c1} ”)如: 示例ascii文件:

      ${c1}
                            .@hpp
                  ,      ,+;n@nnw,    ,,
               ,||ppKN|||p##KKNpp|LKp!L@|IN,
             ;L##KKPL|$#KKM"````"TE|IKm`"K@LKp
           ||#KKM` ||#KKP .*||hw,  T|I#N   T||Km
          ||$#K`   |I#KP | |||$##N  @I#KH   ||$#N
          '|I8N    |I#Kb Y@@p##KBKP |I#KN  ,@$#KM
            TPLKm, Y|I8N  "KKKKKK* ||##KL,@$#KKP
              "Kp@bp$p@LKp,     .||p##KH@p#KK*
           U@#Kp`*KKK*Tb@@I#m |.{#KKKM*KKKPT@#Kp
            `*"         `PK#K HI#KM`        `**`
                         IK#K $K#B
                 ,Kpp    I#BB IhKKp   p#p,
                 "KKKKmp##KKK TKKKKp##KKKM
                   `TKKKKKKP`  `*KKKKKKM`
      

      来源:https://old.reddit.com/r/unixporn/comments/qarx1m/qtile_lain_rice/https://drive.google.com/file/d/1sKTFiQfLdahMjX8LpWK287PL-lnliSC8/view

      conky(系统监视器)

      安装:sudo apt-get install conky-all

      配置文件路径:/etc/conky/conky.conf 通过其联动音乐播放器获取当前播放音乐的专辑封面及进度、rss订阅等看起来就很爽/r/Conkyporn/,但以我的技术力而言,目前只能想想,就简单的复制粘贴(改几个字符)别人的配置文件:

      -- Remix by Dareboy58
      conky.config = {
      background = false,
      update_interval = 1,
      total_run_times = 0,
      alignment = "middle_right",
      gap_x = 15,
      gap_y = 3,
      minimum_width = 270,
      maximum_width = 270,
      minimum_height = 875,
      -- minimum_height = 750,
      net_avg_samples = 1,
      cpu_avg_samples = 1,
      own_window = true,
      own_window_type = "desktop",
      own_window_hints = "undecorated,below,sticky,skip_taskbar,skip_pager",
      own_window_transparent = true,
      own_window_argb_visual = true,
      own_window_argb_value = 0,
      double_buffer = true,
      use_xft = true,
      font = "Arial:size=11",
      short_units = true,
      draw_graph_borders = true,
      temperature_unit = "celsius",
      draw_shades = true,
      default_outline_color = "black",
      --default_bar_size = 7,
      color0 = '080721',--Dark Blue - Background
      color1 = 'lightblue',--Light Blue - Base Text
      color2 = 'gold',--Gold - Monitored Item (Frequently Updates)
      color3 = 'orange',--Orange - Monitored Item (Infrequently Updates/Versions)
      color4 = 'green',--Green - Headers
      color5 = '0064ff',--Blue - ANSI Header Art
      color6 = 'wheat',--Wheat - Bar Fill
      color7 = 'purple',--Purple - Drive Labels
      color8 = 'grey',--Grey - ANSI Forks
      color9 = 'FFFFFF',--White - Unused (So far)
      conky.text = [[
      # Time & Date
      ${alignc}${font Terminus(TTF):size=16}${color1}${time %I:%M:%S%P}
      ${alignc}${font Terminus(TTF):bold:size=12}${color1}${time %A %B %e, %Y}
      # CPU
      ${voffset 10}${color5}${font Arial:size-12}${alignc}┌──────═╣${color4}${font FreeSans:bold:size 12}  CPU  ${font Arial:size 12}${color5}╠═──────┐
      ${alignc}${voffset 4}${color3}${font Arial:bold:size-11}${execi 6000 cat /proc/cpuinfo | grep 'model name' | sed -e 's/model name.*: //' | sed -e 's/Processor//'  | sed -e 's/(tm)/™/' | sed -e 's/(R)//' | sed -e 's/CPU//' | sed -e 's/@/:/' | sed -e 's/\ \ //' | sed -e 's/[0-9].[0-9][0-9]GHz//' | uniq}
      ${goto 8}${voffset 5}${color1}${font Terminus(TTF):size=11}C01${goto 33}${color2}${font Terminus(TTF):bold:size=11}${cpu cpu1}${goto 58}${color1}%${goto 72}${color2}${freq 1}${goto 104}${font}${color1}Mhz${goto 140}${color1}${font Terminus(TTF):size=11}C02${goto 165}${color2}${font Terminus(TTF):bold:size=11}${cpu cpu2}${goto 189}${color1}%${goto 203}${color2}${font Terminus(TTF):bold:size=11}${freq 2}${goto 238}${font}${color1}Mhz
      ${goto 10}${color6}${cpubar cpu1 7,117}${goto 146}${color6}${cpubar cpu2 7,117}
      ${goto 6}${voffset -16}${color9}${font Arial:size=10}└────────────┘${goto 32}┴${goto 63}┴${goto 94}┴${goto 141}${color9}${font Arial:size=10}└────────────┘${goto 163}┴${goto 192}┴${goto 223}┴
      ${goto 8}${color1}${font Terminus(TTF):size=11}C03${goto 33}${color2}${font Terminus(TTF):bold:size=11}${cpu cpu3}${goto 58}${color1}%${goto 72}${color2}${freq 3}${goto 104}${font}${color1}Mhz${goto 140}${color1}${font Terminus(TTF):size=11}C04${goto 165}${color2}${font Terminus(TTF):bold:size=11}${cpu cpu4}${goto 188}${color1}%${goto 203}${color2}${font Terminus(TTF):bold:size=11}${freq 4}${goto 238}${font}${color1}Mhz
      ${goto 10}${color6}${cpubar cpu3 7,117}${goto 146}${color6}${cpubar cpu4 7,117}
      ${goto 6}${voffset -16}${color9}${font Arial:size=10}└────────────┘${goto 32}┴${goto 63}┴${goto 94}┴${goto 141}${color9}${font Arial:size=10}└────────────┘${goto 163}┴${goto 192}┴${goto 223}┴
      ${goto 8}${color1}${font Terminus(TTF):size=11}C05${goto 33}${color2}${font Terminus(TTF):bold:size=11}${cpu cpu5}${goto 58}${color1}%${goto 72}${color2}${freq 5}${goto 104}${font}${color1}Mhz${goto 140}${color1}${font Terminus(TTF):size=11}C06${goto 165}${color2}${font Terminus(TTF):bold:size=11}${cpu cpu6}${goto 189}${color1}%${goto 203}${color2}${font Terminus(TTF):bold:size=11}${freq 6}${goto 238}${font}${color1}Mhz
      ${goto 10}${color6}${cpubar cpu5 7,117}${goto 146}${color6}${cpubar cpu6 7,117}
      ${goto 6}${voffset -16}${color9}${font Arial:size=10}└────────────┘${goto 32}┴${goto 63}┴${goto 94}┴${goto 141}${color9}${font Arial:size=10}└────────────┘${goto 163}┴${goto 192}┴${goto 223}┴
      ${goto 8}${color1}${font Terminus(TTF):size=11}C07${goto 33}${color2}${font Terminus(TTF):bold:size=11}${cpu cpu7}${goto 58}${color1}%${goto 72}${color2}${freq 7}${goto 104}${font}${color1}Mhz${goto 140}${color1}${font Terminus(TTF):size=11}C08${goto 165}${color2}${font Terminus(TTF):bold:size=11}${cpu cpu8}${goto 189}${color1}%${goto 203}${color2}${font Terminus(TTF):bold:size=11}${freq 8}${goto 238}${font}${color1}Mhz
      ${goto 10}${color6}${cpubar cpu7 7,117}${goto 146}${color6}${cpubar cpu8 7,117}
      ${goto 6}${voffset -16}${color9}${font Arial:size=10}└────────────┘${goto 32}┴${goto 63}┴${goto 94}┴${goto 141}${color9}${font Arial:size=10}└────────────┘${goto 163}┴${goto 192}┴${goto 223}┴
      # ALL CPU AVERAGE
      ${goto 8}${color1}${font Terminus(TTF):size=11}Average: ${color2}${font Terminus(TTF):bold:size=11}${goto 126}${cpu cpu0}${color1} %${goto 206}${color2}${font Terminus(TTF):bold:size=11}${freq 0}${goto 241}${font}${color1}Mhz
      ${goto 10}${color6}${cpubar cpu0 7,252}
      ${goto 5}${voffset -16}${color9}${font Arial:size=10}└───────────────────────────┘${goto 65}┴${goto 128}┴${goto 198}┴
      # SYSTEM
      ${color5}${font Arial:size-12}${alignc}┌─────═╣${color4}${font FreeSans:bold:size 12}  SYSTEM  ${font Arial:size 12}${color5}╠═─────┐${font}
      ${color1}Temperatures ${color8}┬${color1} CPU Core:${color2}${alignr 3}${font Arial:bold:size=11}${hwmon 2 temp 1}${font}${color1}°C
      # ${color8}${goto 99}${voffset -1}${color8}├${color1}${voffset 0} CPU Socket:${alignr 3}${color2}${font Arial:bold:size=11}${hwmon 2 temp 5}${font}${color1}°C
      # ${color8}${goto 99}${voffset -1}${color8}└${color1}${voffset 0} Mainboard:${alignr 3}${color2}${font Arial:bold:size=11}${hwmon 2 temp 2}${font}${color1}°C
      # ${color1}Fan Speeds ${goto 98}${color8}┬${color1} CPU:${color2}${alignr}${font Arial:bold:size=11}${hwmon 2 fan 1}${font} # ${color1}rpm
      # ${color8}${goto 98}${voffset -1}└${color1}${voffset 0} Case:${color2}${alignr}${font Arial:bold:size=11}${hwmon 2 fan 3}${font} ${color1}rpm
      ${color1}System Uptime:${color2}${alignr 3}${font Arial:bold:size=11}${uptime}${font}
      #${color1}USB Devices:${goto 105}${color2}${font Arial:bold:size=11}${execpi 5 lsusb | grep -iv 'hub' | cut --fields=7- --delimiter=' ' | wc -l}${font}${goto 150}${color1}Updates:${color2}${font Arial:bold:size=11}${goto 253}${execpi 3600 checkupdates | wc -l}${font}${color}
      ${color1}USB Devices:${goto 105}${color2}${font Arial:bold:size=11}${execpi 5 lsusb | grep -iv 'hub' | cut --fields=7- --delimiter=' ' | wc -l}${font}${goto 150}${color1}Updates:${color2}${font Arial:bold:size=11}${goto 253}${execi 3600 aptitude search "~U" | wc -l | tail}${font}${color}
      ${color1}Processes:  ${color2}${font Arial:bold:size=11}$processes${font}${goto 150}${color1}Running:${goto 253}${color2}${font Arial:bold:size=11}$running_processes${font}
      ${color1}Version${voffset 0}┬${color1}DE:${alignr 3}${font Arial:bold:size=11}${color3}${execi 65000 neofetch --stdout | grep "DE:" | awk '{print $2'}} ${execi 65000 neofetch --stdout | grep "DE:" | awk '{print $3'}}${font}
      ${color8}${goto 54}${voffset 0}├${color1}OS:${alignr 3}${font Arial:bold:size=11}${color3}${execi 65000 lsb_release -ds | awk '{print $1'}} ${execi 65000 lsb_release -cs | awk '{print $1'}}${font}
      ${goto 54}${color8}└${color1}Kernel:${alignr 3}${font Arial:bold:size=11}${color3}${kernel}
      # VIDEO CARD
      ${voffset 4}${color5}${font Arial:size-12}${alignc}┌═╣${font FreeSans:bold:size 12}${color4}${execi 65000 nvidia-smi --query-gpu=gpu_name --format=csv,noheader,nounits}${font Arial:size-12}${color5}╠═┐${font}
      ${voffset 4}${color1}VRAM:${font Arial:bold:size=11}${color2}${goto 110}${execi 5 nvidia-smi --query-gpu=memory.used --format=csv,noheader}${font}${color1}  of  ${font Arial:bold:size=11}${color2}${execi 5 nvidia-smi --query-gpu=memory.total --format=csv,noheader}
      # ${color1}${font Arial:size=11}Fan 1 Speed: ${color2}${font Arial:bold:size=11}${goto 115}${execi 5 nvidia-settings -q [fan:0]/GPUCurrentFanSpeedRPM -t} ${font}${color1}rpm${alignr}${color2}${font Arial:bold:size=11}${exec nvidia-settings -q [fan:0]/GPUCurrentFanSpeed -t} ${font}${color1}%
      # ${color1}${font Arial:size=11}Fan 2 Speed: ${color2}${font Arial:bold:size=11}${goto 115}${execi 5 nvidia-settings -q [fan:1]/GPUCurrentFanSpeedRPM -t} ${font}${color1}rpm${alignr}${color2}${font Arial:bold:size=11}${exec nvidia-settings -q [fan:0]/GPUCurrentFanSpeed -t} ${font}${color1}%
      ${color1}GPU Temp :${color2}${alignr}${font Arial:bold:size=11}${nvidia temp}${font}${color1}°C
      ${color1}GPU Used :${color2}${alignr}${nvidia gpuutil}${color1}%
      ${color1}GPU Clock :${color2}${alignr}${nvidia gpufreq} ${color1}MHz
      ${color1}Mem Clock :${color2}${alignr}${nvidia mtrfreq} ${color1}Mhz
      ${color1}Powers Used :${color2}${alignr}${execpi 10 nvidia-smi -q | grep 'Power Draw' | awk '{print $4'}} ${color}W
      ${color1}Powers Total :${color2}${alignr}${execi 65000 nvidia-smi -q | grep 'Default Power Limit' | awk '{print $5'}} ${color}W
      ${color1}Version  ${color8}┬${color1}  X.org:${alignr 3}${font Arial:bold:size=11}${color3}${exec dpkg -l |grep xserver-xorg-core | awk '{print $3}'}
      ${color1}${goto 61}${voffset -1}${color8}└${color1}${voffset 0}  Driver:${alignr 3}${font Arial:bold:size=11}${color3}${execi 65000 nvidia-smi | grep "Driver Version"| awk {'print $3'}}
      # RAM
      ${voffset 4}${color5}${font Arial:size-11}${alignc}┌────═╣${font FreeSans:bold:size-12}${color4} ${memmax} RAM ${font Arial:size-12}${color5}╠═────┐
      ${voffset 4}${color1}${font Arial:size=11}Used ${color8}┬${color1}${alignr 5}${color6}${membar 7,200}
      ${voffset -1}${color8}${font Arial:size=11}${goto 43}└${color2}${goto 60}${font Arial:bold:size=11}${execi 5 neofetch --stdout | grep "Memory:" | awk '{print $2}'}${font} ${color1}/ ${color2}${font Arial:bold:size=11}${memperc} %${goto 190}${font Arial:size=11}${color1}Free:${color2}${font Arial:bold:size=11}${alignr}${memeasyfree}
      # SWAP
      ${voffset 4}${color5}${font Arial:size-12}${alignc}┌──────═╣${font FreeSans:bold:size-12}${color4} SWAP ${font Arial:size-12}${color5}╠═──────┐${font}
      ${voffset 4}${color1}Used ${color8}┬${alignr}${color6}${swapbar 7,200}
      ${voffset -1}${color8}${font Arial:size=11}${goto 42}└${voffset 0}${color2}${goto 60}${font Arial:bold:size=11}${swap}${font}${color1} / ${color2}${font Arial:bold:size=11}${swapperc} %${goto 170}${font Arial:size=11}Free:${color2}${alignr}${font Arial:bold:size=11}${swapfree}
      # STORAGE
      ${voffset 4}${color5}${font Arial:size-12}${alignc}┌────═╣${font FreeSans:bold:size-12}${color4} STORAGE ${font Arial:size-12}${color5}╠═────┐
      ${voffset 4}${font Arial size=11}${color7}anon${goto 160}${color1}Size:${color2}${alignr}${font Arial:bold:size-11}${fs_size /}${font}
      ${color1}Type:${color2}${font Arial:bold:size-11}${goto 60}${fs_type /}${color}${font}${goto 160}${color1}Free:${color2}${alignr 3}${font Arial:bold:size-11}${fs_free /}${font}${color}
      ${color1}Used:${font Arial:bold:size-11}${color2}${goto 60}${fs_used /}${color6}${alignr}${fs_bar 7,135 /}${font}
      # NET
      ${voffset 4}${color5}${font Arial:size-12}${alignc}┌────═╣${font FreeSans:bold:size-12}${color4} NETWORK ${font Arial:size-12}${color5}╠═────┐
      ${goto 7}${color1}${voffset 0}${if_existing /sys/class/net/enp34s0/operstate up}${font}${goto 30}${color1}${font Terminus(TTF):size=13}Inbound:${goto 95}${font Arial:bold:size=13}${color2}${voffset -1}${tcp_portmon 1 32767 count}${color1}${goto 170}${voffset -1}${font Terminus(TTF):size=13}Outbound:${font Arial:bold:size=13}${color2}${goto 245}${voffset -1}${tcp_portmon 32768 61000 count}
      ${goto 10}${voffset 5}${color}${font}${color}LAN : ${color2}${addr enp34s0}
      ${goto 10}${voffset 5}${color}Upload: ${color2}${upspeed enp34s0}${goto 155}${color5}${upspeedgraph enp34s0 10,100 fc8c3b c6396b -t}
      ${goto 10}${color}Download: ${color2}${downspeed enp34s0}${goto 155}${color5}${downspeedgraph enp34s0 10,100 fc8c3b c6396b -t}
      ${goto 10}${voffset 5}${color}Up: ${color2}${totalup enp34s0}${color}${alignr 10}Down: ${color2}${totaldown enp34s0} ${else} ${if_existing /sys/class/net/wlan0/operstate up}
      

      并添加到开机启动项

      Hydraaper(壁纸管理)

      https://github.com/GabMus/HydraPaper

      https://gitlab.com/gabmus/HydraPaper

      安装:flatpak install flathub org.gabmus.hydrapaper

      支持多显示屏,可以从容应对不同显示屏不同壁纸、竖屏竖向壁纸的设置。

      任务栏面板相关:

      • 将任务栏面板移动到上面:右键任务栏--移动;
      • 隐藏任务栏更新图标:右键更新图标--首选项,勾选界面的两个选项并取消勾选自动刷新
      • 鼠标滚轮循环窗口:右键任务栏上的软件--小程序首选项--配置,在“行为”的“鼠标滚轮滚动工作”选择“循环窗口”。
      • 固定到任务栏:
        • 文件管理器
        • chrome
        • firefox
        • vscode
        • typora
        • 文档(文本编辑器)
        • localsend
        • filezilla
      • 任务栏小图标常驻(主动/前台功能型的):
      • 工作区选区
      • Snipaste
      • Flameshot
      • Diodon

    桌面美化:

    • 取消桌面的驱动器图标:系统设置--桌面,取消勾选“已挂载的驱动器”;
    • 修改锁屏图片:系统设置--登录窗口
    • 修改时间格式:右键时间--配置,设置自定义日期格式,比如“ %Y-%m-%d %k:%M:%S ”,语法可以参考: https://www.w3schools.com/python/gloss_python_date_format_codes.asp

    文件管理器:

    • 编辑--首选项--视图:勾选“从上级继承视图类型”;
    • 编辑--首选项--显示:日期显示格式切换为纯数字的;
    • 编辑--首选项--列表列:勾选“MIME类型”并将其替换掉“类型”;
    • 编辑--首选项--工具栏:添加“在当前页面运行终端”快捷按钮。
    • 文件管理器侧边栏:

      收藏夹:可惜默认的不能自定义排序,有机会偶遇到更好的收藏夹管理工具得换掉。

      • osint
      • osint.md
      • osint-阉割版.md

      开机自启动,三种方式:

      • .desktop 文件( /usr/share/applications/ )移动至: ~/.config/autostart/ (特定用户)
      • /etc/xdg/autostart 目录新建文件: xxxxx.desktop 并添加如下内容:(全局)
        [Desktop Entry]
        Name=conky
        Type=Application
        Exec=/usr/bin/xxxxx
        
      • 在“系统设置”--“开机自启动程序”添加程序。

      ※ 将硬盘及文件夹信息修改为您自己实际的。

      NFS共享 https://vegastack.com/tutorials/how-to-mount-an-nfs-share-in-linux/

      • sudo nano /etc/fstab
      • # <file system> <mount point>   <type>  <options>       <dump>  <pass>
        192.168.50.25:/mnt/user/中文 /home/anon/文档/0-NFS/中文  nfs      defaults    0    0
        192.168.50.25:/mnt/user/英文 /home/anon/文档/0-NFS/英文  nfs      defaults    0    0
        192.168.50.25:/mnt/user/下载专用 /home/anon/文档/0-NFS/下载专用  nfs      defaults    0    0
        192.168.50.25:/mnt/user/media /home/anon/文档/0-NFS/media  nfs      defaults   0    0
        192.168.50.25:/mnt/user/收藏 /home/anon/文档/0-NFS/收藏  nfs      defaults    0    0
        192.168.50.25:/mnt/user/档案 /home/anon/文档/0-NFS/档案  nfs      defaults    0    0
        

        SMB共享:NFS共享有一些致命的bug,既然linux支持smb,何必再用nfs,以及不建议挂载到用户的目录下,因为搜索一般都是在主目录搜索,而通常搜索的目的是检索本机文件而非nas里的,会产生很多无意义的索引。

        • sudo nano /etc/fstab
        • # <file system nas共享位置>     <dir 挂载的本地目录>       <type 类型>   <options 选项(共享用户名和密码)>   <dump> <pass>
          //192.168.50.25/下载专用  /media/anon/下载专用  cifs   user=用户名,password=密码,file_mode=0777,dir_mode=0777 0  0
          //192.168.50.25/中文  /media/anon/中文  cifs   user=用户名,password=密码,file_mode=0777,dir_mode=0777 0  0
          //192.168.50.25/英文  /media/anon/英文  cifs   user=用户名,password=密码,file_mode=0777,dir_mode=0777 0  0
          //192.168.50.25/media  /media/anon/media  cifs   user=用户名,password=密码,file_mode=0777,dir_mode=0777 0  0
          //192.168.50.25/收藏  /media/anon/收藏  cifs   user=用户名,password=密码,file_mode=0777,dir_mode=0777 0  0
          //192.168.50.25/档案  /media/anon/档案  cifs   user=用户名,password=密码,file_mode=0777,dir_mode=0777 0  0
          

          本地硬盘

          1、直接挂在(设置开机自启动命令)

          • udisksctl mount -p block_devices/nvme0n1p5
          • udisksctl mount -p block_devices/sda1

          2.1、后来自己莫名其妙的报错,提示无法挂载。

          • sudo fsck /dev/nvme0n1p5 //修复
          • sudo mount /dev/nvme0n1p5/ /media/anon //挂载
          • 最但还不能解决问题,并且有了无权限访问文件的新问题。

          2.2、用ntfsfix修复一下,选了个windows系统分区(因为不重要),但运行之后其他的也都可以正常挂载了:

          • sudo ntfsfix /dev/nvme0n1p3
          • 还是用那个自启动的命令,又正常运行了。

          ※ 参考:NVIDIA 驱动程序安装

          通过命令行安装

          安装驱动:sudo apt install nvidia-driver-XXX

          • 例如:sudo apt install nvidia-driver-550

          以linuxmint22为例,驱动管理所提供的最高只有535版本的,太久了,官方已经更新到560了,还是有必要升级的,比如550.40.07就针对性的修复了包括地平线5在内的闪退bug,还是有必要升级一下的。

          通过文件安装

          但上述命令(包括ubuntu-drivers list)只提供到550版本,最新版本的或许不会包括在上述支持列表内,如果感觉不够用可以到官网匹配适用的版本并下载.sh文件后手动安装(授予运行权限后直接运行.sh文件即可,但无法在图形化界面下安装,可以到下面提及的命令行界面安装)

          修复驱动异常导致无法进系统

          我在安装550-open版本后开机卡在logo界面无法进系统,解决方案也很简单:启动项选择时进入高级界面(Advanced Options xx),选带有 “recovery mode”的启动,进入后选中root那一项,便以root账户运行终端了,然后通过命令或文件安装可以正常使用的驱动版本即可。

          小程序/拓展

          ——————小程序

          linuxmint官方小程序商城的工具,位置:右键任务栏--小程序--下载,下载后在“管理”内选中小程序并点击“加号”启动。

          作者:Gr3q

          颜色选择器(屏幕取色)

          作者:icarter09

          工作区切换器

          (默认已安装未启动)作者:[email protected]

          右键--配置,显示方式改为“简单按钮”。

          ——————拓展

          位置:系统设置--扩展

          作者:germanfr

          将任务栏弄成渐变透明(带有阴影)的。一开始没想起来是扩展实现的,我还寻思mint21设置透明度很简单,怎么22里就没相关选项了,最后还改了主题配置文件[参考]

          Ulauncher(应用启动器)

          https://ulauncher.io/

          安装:sudo add-apt-repository universe -y && sudo add-apt-repository ppa:agornostal/ulauncher -y && sudo apt update && sudo apt install ulauncher

          唤醒搜索框:ctrl+空格

          在设置里勾选“Launch at Login”添加开机(登陆)自启动,这个是启动到后台(在 /etc/xdg/autostart 目录新建文件会弹出搜索框)

          可以将desktop文件存放至:/usr/share/applications/(系统范围的)~/.local/share/applications/(用户级别的),重启软件后就可以读取了。

          也可以安装一些扩展以增强体验,例如:AppImage启动器,设定触发关键词及存放.appimage文件的目录地址,届时输入 关键词 要启动的软件 即可。

          • 更建议为其创建个.desktop文件,例如:
          • [Desktop Entry]
            Name=osu!
            Exec=/home/anon/app/osu.AppImage
            Type=Application
            

            syncthing(文件自动同步)

            https://syncthing.net/

            安装:sudo apt install syncthing

            配置文件路径:~/.local/state/syncthing 也可能是: ~/.config/syncthing

            • 但它有点毛病,就是在同步文件时,会创建一些隐藏文件夹(.stfolder)如果删掉它就无法同步,所以新环境下只有配置文件没用。

            我主要是简单的同步拍摄的照片及截图,详细可见官方文档

            LocalSend(局域网通讯)

            https://github.com/localsend/localsend

            支持文字/文件传输,跨平台,但感觉有些浮夸,操作的冗余和动画的过渡太多,但习惯了也就那样,挺好用的,也没发现其他更好用的,小规模要求无所谓,大规模要求一般是用syncthing同步。

            Veracrypt(文件加密)

            https://www.veracrypt.fr/en/Downloads.html

            czkawka(重复文件)

            https://github.com/qarmin/czkawka

            安装:flatpak install flathub com.github.qarmin.czkawka

            我用来查找重复/相似图片,本意是对比图片是否重复,因为手有一些合集资源(原始语言),又有一些散乱的资源(翻译资源),想对比下合集收录的具体情况,本用digkim,但不是很好用,这软件比digkim强一丢丢吧,一些我个人看起来应该不影响模糊查找的它分辨不出来,人眼看着差距十分大的倒是能查出来(调整相似性后),也不知道使用的算法啥原理,但用来正常的查找相似、重复文件还是可以的。貌似还支持音乐和视频,但是没试。

            dupeGuru(重复图片)

            https://dupeguru.voltaicideas.net/

            安装:sudo apt install dupeguru

            Visual Studio Code

            https://code.visualstudio.com/Download

            第一件事当然是下载(扩展商店搜索即可)中文拓展;MD实时渲染编辑扩展:vscode all markdown(还可以试试Office Viewer)。

            LibreOffice(办公套件)

            https://www.libreoffice.org/

            系统附加,但可以安装个转mediawiki格式拓展:sudo apt-get install libreoffice-wiki-publisher

            Typora(markdown)

            https://support.typora.io/Typora-on-Linux/ 主要就是所见即所得,而不是对照渲染,但可视化编辑器模式中涉及到搜索内容就会很卡顿。但考虑到这是个付费软件,所以vscode+扩展的方式或许更好。

            wget -qO - https://typoraio.cn/linux/public-key.asc | sudo tee /etc/apt/trusted.gpg.d/typora.asc
            sudo add-apt-repository 'deb https://typora.io/linux ./'
            sudo apt-get update
            sudo apt-get install typora
            

            官方随便扫了一眼也没明确说明配置文件,恢复conf文件内的两个配置文件也没有影响设置,于是干脆恢复了整个配置文件夹:~/.config/Typora/

            mind map(思维导图)

            https://github.com/wanglin2/mind-map

            原本用Xmind,但商业软件始终限制太多,且linux端远远没有win端好用。

            drawio(流程/拓扑图)

            https://github.com/jgraph/drawio-desktop

            永续系列站点#系列站点结构 张贴的两张图便是其制作,做思维导图还是现代的专业工具更美观一些,这种工具适合画拓扑图啥的,主要还是样式问题,包括FreeMind/freeplane做思维导图想弄成美观的程度的工作量不敢想象(其实愿意折腾且软件有复制粘贴样式的功能也不算麻烦,顶多算是非傻瓜式)。

            Notepadqq(文本编辑)

            https://notepadqq.com/wp/download/

            安装:sudo apt install notepadqq

            win端的Notepad++的linux端替代品,主要目的是按住alt+ctrl+鼠标可以选区并操作。

            ImHex(16进制编辑器)

            https://github.com/WerWolv/ImHex

            用来查看文件头啥的还是得备一个。

            ※ 泛指修改主要对作用于媒体的内容部分,例如在图像上作画、视频中添加字幕等修改内容的。

            Photoshop CC 2017

            https://www.52pojie.cn/thread-1358127-1-1.html

            唯一的美中不足是我这边预览落后编辑一步,下一次操作才刷新本次操作的效果。

            还有一个:https://github.com/LinSoftWin/Photoshop-CC2022-Linux 但装上后不知道是缺失字体还算什么原因,标题栏文本不能正常显示。应该也可通过安装绿色便携版(破解好的)来使用,但我没试,在wine内通过正版安装包安装然后运行注册机软件我觉得应该可行,但注册机软件无法正常使用,未排查具体原因。

            kdenlive(视频)

            https://kdenlive.org/en/download/

            安装:sudo apt install kdenlive

            应对简单的需求,应该是先入为主的缘故,媒体编辑这块,商业软件pr、ps还是无人可撼动的,不论是上手难度还是背后开发团队。

            Photoflare(图片)

            https://photoflare.io

            安装:sudo apt install photoflare

            可以设置为中文,基础的图片管理/编辑工具,因为gimp不习惯,Cinnamon自带的不好用(没法裁剪就是硬伤),一般编辑图片我还是跑ps内操作。

            GIMP(图片)

            https://www.gimp.org/

            安装:sudo apt install gimp

            虽然但是,还是要安装的,查看一些具有图层的文件和简易的编辑还算好用。

            ※ 泛指修改主要对作用于媒体的元数据、格式部分,例如修改格式、转码、调整尺寸、压缩等,默认为cli操作。

            ffmpeg

            ubuntu发行版是预安装的,但既然imagemagick都提了,也提一下吧,不过就我个人而言,以我的使用范围,在linux下我还真不(直接)用它,倒是在windows时抄脚本用的多。目前相关需求无非是将wiki线上需要用到的图片转为.avif格式,一直用imagemagick的mogrify命令习惯了,不过都是预设的情况下,ffmpeg效果更好一点,im速度更快一点,当然对于仅仅演示用途的图片而言还没有到需要做取舍或优化的地步。

            ImageMagick(图片)

            安装:https://imagemagick.org/script/install-source.php

            如果编译后无法对avif进行转格式(报错+出现实际为原格式的.avif文件),并且输入“magick -list format | grep AVIF”查到的权限是“r--(只读),就无法实际处理avif文件。解决方案(参考:libheif#adding-libaom-encoderdecoder-for-avif ):

            • sudo apt-get install libaom-dev libde265-dev libheif-dev #安装必要依赖
              git clone https://github.com/strukturag/libheif.git #下载libheif源代码
              cd libheif
              # -- 编译libheif(启用libaom支持)
              mkdir build
              cd build
              cmake -DHEIF_ENABLE_AOM=ON ..
              sudo make install
              # -- 重新编译ImageMagick
              git clone https://github.com/ImageMagick/ImageMagick.git
              cd ImageMagick
              ./configure --with-heic=yes --with-heif=yes
              sudo make install
              sudo ldconfig /usr/local/lib
              magick -list format | grep AVIF # 验证avif权限是否为rw+
              
              这个一开始卡了我许久,搞得我都想直接统一用ffmpeg了,后来在chatgpt的帮助下轻松解决,既然用习惯了就继续用它吧。

            Squoosh(图片)

            https://github.com/GoogleChromeLabs/squoosh

            npm run dev

            http://127.0.0.1:5000/

            图像压缩&对比 Web 应用程序,压缩工具不缺,但这种滑块对比(压缩前后)的还真不好找,主要是我都不知道用啥关键词找,之前根据需求(滑块对比两张图片)去搜了搜,但是一无所获,线上工具倒挺多,比如imgsldiffchecker.comimage-compare-sliderupscale-compareimg-comparison-sliderimg-comparison-slider,按理说实现原理也挺简单的,就是两张图片叠加到一块,中间一个滑块控制box的尺寸,但不知道为啥没找到此类客户端。搜出来的大都是线上的扩展(比如discourse)以及对比颜色差异这种高级点的功能,唉。

            sox(音频)

            安装:sudo apt install sox

            在没有熟悉也没有意图熟悉诸如ffmpeg等工具的前提下,各种小工具不仅不会臃肿,反而办事效率更高,领域细分意味着更少的附加参数及选项,我一般是用来:

            • 删除音频片头片尾:sox old.mp3 new.mp3 trim 0 -4

            OBS Studio(录制)

            https://obsproject.com/ 安装:

            sudo add-apt-repository ppa:obsproject/obs-studio
            sudo apt update
            sudo apt install ffmpeg obs-studio
            

            本职是直播推流,兼职录屏,但对于录屏来说挺好用的,只是相对复杂些。如果一开始安装录屏所黑屏所因为没选择源,在【视图】-【停靠部件】选择【来源】唤出窗口就行。

            Kazam(录屏)

            https://github.com/henrywoo/kazam

            安装:sudo apt-get install kazam

            轻量化的平替。

            Flameshot(截图+编辑)

            https://github.com/flameshot-org/flameshot

            安装:sudo apt-get install flameshot

            按照指南设置快捷键即可。也可以试试ksnipshutter

            Snipaste(屏幕贴图)

            https://zh.snipaste.com/

            可以截图(直接按f3会读取粘贴版)并将图片固定到桌面(无多余的边框样式),双击关闭图片。

            系列站点御用

            DBeaver(数据库管理)

            https://dbeaver.io/download/

            PuTTY(SSH)

            https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

            安装:sudo apt install putty

            只是访问服务器的话,一般情况下就直接终端内ssh root@IP了。

            Mosh(SSH)

            https://mosh.org/#getting

            安装:sudo apt-get install mosh

            直接终端内 mosh root@IP 即可(详见指南),需要受控端也安装mosh并开放UDP 60001/6002端口。

            特点是支持间歇性的链接,对于网络不稳定的情况下算好用,尤其是链接网络波动大的国外机器。

            FTPRush(FTP)

            https://www.wftpserver.com/ftprush.htm

            配置文件路径:~/.config/FTPRush

            Filezilla(FTP)

            https://filezilla-project.org/download.php?type=client

            安装:sudo apt install filezilla

            配置文件路径:~/.config/filezilla

            GoAccess(日志分析)

            https://goaccess.io/

            • sudo apt install goaccess
            • goaccess /目录/access.log --log-format=COMBINED -a -o /目录/要生成的.html

            lychee(死链检查)

            https://github.com/lycheeverse/lychee

            二进制文件:下载其提供的二进制文件(授予运行条件chmod +x filename),在软件目录下执行./lychee 文件即可,可以利用>导出日志,例如:./lychee link.txt > log.txt,即检索link.txt文件夹中的url并将log(无法访问的页面)导出到log.txt文件中。

            Cargo:使用方式同上,但更为方便。

            curl -sSf 'https://sh.rustup.rs' | sh
            apt install gcc pkg-config libc6-dev libssl-dev
            cargo install lychee
            

            lychee会自动识别url,只需要保证文件内的url符合规范即可:

            • 有http/https前缀;
            • 后缀有无“/”没限制,但需要注意用普通空格空格(u+0020)与其他相连内容分开:
              • 譬如 这个https://scio.icu是主站 ,末尾不间断的连接其他字符,会被识别为一个连续的整体,或不会被识别为url。
              • 譬如osint项目的分割符号:“ ”(u+3000)会被识别为url的一部分,因此导致部分网站错判,请替换成普通空格再处理。

            但注意,是按返回的HTTP状态码判断url是否可用的,因此对于网站已关闭,但被域名托管商/vps商托管了提示/广告页的不会被识别出来;有些站点正常运行但还是会被识别错误,我也不清楚是网络波动、站点反爬还是其他什么原因,只做参考用。我是在用该工具筛选后,复制粘贴到typecho导出为html再用Broken Link Checker检查一下,最后再手动筛查。

            LinuxDir2HTML

            https://github.com/homeisfar/LinuxDir2HTML 如名,将目录树/结构输出为html,Snap2HTML的替代品,基于python,因此跨平台,适用于linux。这里我通过pipx安装:

            sudo apt install pipx # 安装pipx
            pipx install git+https://github.com/homeisfar/LinuxDir2HTML.git # 通过pipx安装软件
            linuxdir2html /要获取的目录/ /输出的路径及文件.html
            

            wget -r https://wiki.scio.icu # or whatever

            wget -r -p -np -k https://url/

            wget --mirror --convert-links --adjust-extension --page-requisites --no-parent --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36" --execute robots=off "http://scio.icu"

            rclone

            https://rclone.org/

            我主要是用来下载谷歌云盘的文件,毕竟它那个下载功能,设计师估计就没想着让人下载文件夹/复数个文件。

            操作方式:先 rclone config 根据提示创建配置文件,其中谷歌云盘的client_id和key按照https://rclone.org/drive/#making-your-own-client-id提示获取。

            下载云盘内的文件可以:rclone sync 配置文件名称:folders_ID /下载路径/

            • 列出文件列表:rclone lsd 配置文件名称:

            下载共享给自己的文件:rclone sync 配置文件名称:"文件/文件夹名" /下载路径/ --drive-shared-with-me

            • 列出文件列表:rclone lsf 配置文件名称: --drive-shared-with-me

            BT/P2P

            qbittorrent

            https://www.qbittorrent.org/

            安装:apt install qbittorrent

            transmisson

            https://transmissionbt.com/

            安装:apt install transmission

            EiskaltDC++(DC++)

            https://github.com/eiskaltdcpp/eiskaltdcpp

            使用 DC 和 ADC 协议的文件共享程序

            MEGAsync(云盘)

            https://mega.io/zh-hans/desktop#downloadapps

            百度网盘(云盘)

            https://pan.baidu.com/download#pan

            megatools

            https://manpages.ubuntu.com/manpages/focal/en/man7/megatools.7.html

            安装:sudo apt install megatools

            使用:megadl mega_url

            Mediafire Bulk Downloader

            https://github.com/NicKoehler/mediafire_bulk_downloader

            1fichier.com

            https://github.com/eismann-freenet/1fichier-downloader

            支持使用代理

            WEB下载

            ArchiveBox

            https://archivebox.io/ 安装:

            sudo apt-get install python3 python3-pip python3-venv git curl wget
            pipx install archivebox
            # 如果缺少distutils模块:
            pipx runpip archivebox install --upgrade setuptools
            

            使用:

            archivebox add 'https://scio.icu'  # 添加网页下载任务
            archivebox server # webui
            

            据我的非专业眼光来看,其强势之处是自动化镜像网页(如果有sitemap.xml、rss之类的也行),而非镜像论坛或整个站点。

            HTTrack

            https://www.httrack.com/ (webui)

            • apt install webhttrack(webui)
            • apt install httrack(命令行)

            感觉不如wegt……,加了“--utf8-conversion”不起作用,中文名文件乱码。 

            ※有些“无法下载xxx”的描述,是指我编写该小节时所具备的系统环境、使用的工具版本所遇到的问题,等你看到对应消息时或许已修复或有其他变化。

            ————————————————音视频

            yt-dlp

            https://github.com/yt-dlp/yt-dlp/tree/master支持的站点) 安装:

            wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O ~/.local/bin/yt-dlp
            chmod a+rx ~/.local/bin/yt-dlp  # Make executable
            

            下载bilibili视频:

            • DDDown本来可以不登陆下载1080p视频,但最近失效了,而其他工具,包括yt-dlp、lux未登陆只能下载480p的视频,yt-dlp可以使用cookie下载,一种的使用cookie文件,但我没用过也不知道这个规范怎样;就用了另一种,使用现有浏览器的cookie:yt-dlp --cookies-from-browser chrome 视频URL

            https://github.com/iawia002/lux支持的站点

            最近下载youtube视频提示“can't bypass age restriction: login required to confirm your age

            BBDown(bilibili)

            https://github.com/nilaoda/BBDown

            BBDown --show-all -tv "https://space.bilibili.com/1808585752/channel/seriesdetail?sid=4111979&ctype=0"

            BBDown https://www.bilibili.com/video/BV1Eu4y1c7KB

            • 用“-tv”可以下载无水印的视频,但只能解析出来720p的视频(正常解析能下载1080p)

            streamrip(音乐流媒体)

            https://github.com/nathom/streamrip

            安装:pipx install streamrip

            使用:rip url hxxp://xxx.xxx/ (默认下载路径:~/StreamripDownloads

            下载Qobuz、Tidal需要登陆账户,前者没什么问题,后者我这里下不了,但没啥需求就不折腾了,就月抛账户下点专辑填流媒体库而已。

            以及就是下载qobuz专辑有时会报错(包括通过slavart的bot下载也是),应该就是商店区域的问题,判别方式也很简单,访问url,跳主页就是目标在当前地区/IP不可用(比如slavart的bot地区是美国,用美国节点访问商店搜索专辑会有效减少报错)。

            Tidal-Media-Downloader(tidal)

            https://github.com/yaronzz/Tidal-Media-Downloader

            安装:pipx install tidal-dl

            首次使用执行:tidal-dl

            1. 选apikey,我参考该回复输入了编号“4”(安卓api,可选只有tv与安卓,其中安卓支持的音质较多)了一个,访问提供的授权设备页面并予以权限,后面输入专辑或歌曲的url即可下载;
            2. 需要手动指定质量(根据自己的账户权限),不然我这里默认的是96kbps的,输入编号“5”(Settings-Quality),设置里的“high”指320kpbs(tidal的high指的是16bit flca),HiFi指16bit flac,master应该就是指24bit的了,但我这个月抛账户就16bit的权限,输入对应的编号即可。

            下载方式:使用:tidal-dl ,加载出 Enter Choice: 后输入url或id(建议输入id,我有遇url无法下载id可以的情况)

            • 可以直接提供专辑、艺术家的数字ID进行批量下载(我这里提供艺术家id不会自动下载视频,播放视频的页面无id,分享视频时复制的链接才提供了id)。
            • 可以输入多个url或id(空格分隔)进行批量下载。

            除了平台本身特点外,若音频本有带时间戳的歌词,它也会一并下载(元数据中)。

            ————————————————图文

            gallery-dl(画廊/图集)

            https://github.com/mikf/gallery-dl

            安装:pipx install gallery-dl

            使用:gallery-dl "URL"

            画廊下载工具,但支持较为广泛,不止限于画廊站点,本子站点、图像板也受支持,画廊还可以按照标签下载,可选参数有账户名及密码或cookies,具体见项目官网。

            HakuNeko(漫画)

            https://hakuneko.download/

            不过国内(中文)的那些站点老是换域名,对非英文用户来说好不好用,需要另说。

            Lightnovel Crawler(轻小说文库)

            https://github.com/Messiahhh/wenku8-downloader/tree/master

            • npm install wenku8 -D
            • npx wenku8
            • 默认下载位置在:~/novels

            搜索并下载wenku8.net的(中文)轻小说。

            还有一个日本的轻小说下载器,但复杂一些:https://github.com/dipu-bd/lightnovel-crawler

            还有一个普通的国内小说(起点之类的)下载器,https://github.com/ma6254/FictionDown,但我没用过。

            ————————————————站点

            4chan下载工具

            完整线程存档:https://github.com/bibanon/BASC-Archiver

            • 安装:pipx install basc-archiver
            • 使用:thread-archiver https://boards.4chan.org/wsg/thread/5463962
              • 下载完会进入监视状态。

            图像/视频等媒体资源下载:https://github.com/Exceen/4chan-downloader

            • 可以后台监视线程更新,适用于vps/nas;
            • 下载资源量较多的线程时,可能会因为请求频繁而报错,重新运行即可,会跳过已下载资源;
            • 使用--no-new-dir参数取消自动创建的new目录,其他默认即可,比如:python3 inb4404.py --no-new-dir https://boards.4chan.org/w/thread/2253065

            OpenDirectoryDownloader(目录扫描)

            https://github.com/KoalaBear84/OpenDirectoryDownloader 安装:

            git clone https://github.com/KoalaBear84/OpenDirectoryDownloader.git
            cd OpenDirectoryDownloader
            # 需要.net依赖,如果没有请先安装
            ls *.csproj # 查找该后缀的文件存放位置并导航到该目录从终端打开(我这里是:/home/anon/下载/OpenDirectoryDownloader/src/OpenDirectoryDownloader)。
            dotnet build # 构建项目
            dotnet run # 运行,按照提示输入url
            

            精简:

            mkdir -p ~/app/OpenDirectoryDownloader/ # 新建目标存放软件的文件夹
            cp -r /home/anon/下载/OpenDirectoryDownloader/src/OpenDirectoryDownloader/bin/Debug/net8.0/* ~/app/OpenDirectoryDownloader/ # 将必要的文件移动到新文件夹中(如果net版本不一至自行导航到该处修改为实际路径即可)
            # 其他文件可以删掉了
            

            运行(在软件目录下):

            • ./OpenDirectoryDownloader
            • ./OpenDirectoryDownloader --url "https://scio.icu/webring/"

            open directories目录扫描工具,支持:FTP(S), Google Drive, Bhadoo, GoIndex, Go2Index (alternatives), Dropbox, Mediafire, GoFile, GitHub等,注意,这不是下载工具,是获取目录信息的工具,可以导出列表为txt文件,而后通过wget等工具下载。

            Steam

            https://store.steampowered.com/

            得益于steamdeck和proton,越来越多的游戏可以在直接linux下玩。linux下玩游戏再也不是偏执狂行径了!

            在steam的设置“兼容性”选项卡中勾选“为其他所有产品启用steam play”,即可。但这样会被允许下载所有游戏,建议预先到protondb搜索想玩的游戏在linux下的兼容性及是否需要额外添加启动参数或特殊操作来优化性能。

            • 启动参数:“库”里查看 目标游戏界面 右侧的“设置”中“通用”选项卡内。

            通过steam直接安装的游戏(原生支持或proton支持)

            ※ 极限竞速:地平线 5

            • 原生支持linux但对nvidia显卡不友好,有闪退、无法进游戏的故障,将显卡驱动版本升级至550也无解,然后看社区讨论找了一个参数“PROTON_HIDE_NVIDIA_GPU=1 PROTON_ENABLE_NVAPI=0 %command%”,一开始用了个很长的参数能玩但加载很慢,这个还行。不过我这个显卡(1070)本身就是二手显卡,也不管三四十度还是五六十度,这显卡风扇都转几圈停一下,75帧2k有些卡顿,但勉强能玩。

            ※ Muse Dash

            • 无需添加启动参数,完美运行。

            ※ 植物大战僵尸

            ※ DJMAX RESPECT V、Malody V

            • 虽然但是,下落式的我就手机上勉勉强强玩玩,电脑上根本晚不来,不协调,一直想练练,但想干的事太多了。

            ※ BattleBlock Theater、Hollow Knight

            ※ Skullgirls 2nd Encore、BlazBlue Cross Tag Battle

            Lutris(win模拟器)

            https://lutris.net/downloads

            安装:sudo apt-get install lutris

            如果通过steam平台玩游戏,记得也勾选“启用steam play”,不然会报错“无效平台”。

            https://osu.ppy.sh/

            一开始挺卡的,但经过官方的不断优化,目前倒是能流畅游玩,没有其他问题了(osu!(lazer))。

            媒体播放器

            https://mpv.io/installation/

            安装:sudo apt-get install mpv

            好用,配上快捷键该有的功能都有还简洁,但总觉得缺点什么,默认设置也不人性化(比如不保存历史记录,当然在隐私偏执狂眼中是好设置就是了)。

            SMPlayer

            https://www.smplayer.info/zh/downloads

            安装:sudo apt-get install smplayer

            熟悉的味道,还是听好用的,不过默认视频播放器还算mpv……

            https://www.videolan.org/vlc/

            安装:sudo apt-get install vlc

            还是需要备一个vlc,如果是win端还得加个potplayer

            DeaDBeeF(音乐)

            https://deadbeef.sourceforge.io/download.html

            当foobar2000替代品用的,转码比较方便,播放上就有些平淡了。

            Jellyfin(自托管流媒体库)

            服务端:https://hub.docker.com/r/nyanmisaka/jellyfin

            客户端:https://flathub.org/apps/com.github.iwalton3.jellyfin-media-player

            http://127.0.0.1:8096/

            nyanmisaka版在解码上做了优化,备受国人推崇,在unraid中我也是使用该版本,但假设到本地上,我感觉无所谓了,虽然仍旧是安装此版,但并未设置硬件解码。

            MusicBrainz-Picard(音乐元数据)

            https://picard.musicbrainz.org/

            好用,没啥可说的。

            Music Tag Web(音乐元数据/字幕)

            https://github.com/xhongc/music-tag-web

            http://127.0.0.1:8001/

            如果只是要获取专辑、艺术家等普通元数据用MusicBrainz-Picard还是方便点,这个我主要是用来从国内平台获取带时间戳的歌词,但有一些小问题,比如覆盖原来的元数据、匹配不准确也写入了元数据等有问题却又不好排查的情况,现在不知道修缮或新增功能(如跳过已有对应元数据的文件等可选项)了没有。

            最开始用 音乐标签(MusicTag)是因为foobar2000汉化版(这个这个)中内嵌了这个工具,看介绍应该是某个酷安老哥弄得,还有一个安卓版本,应该没linux版本,主要是可以从国内平台(网易/qq/酷狗/酷我)获取元数据信息,包括含时间戳的歌词(time-synced lyrics),因为现在日用windows,而bottle/虚拟机并不好用,来回切系统又太麻烦,找了下找到了这个web版的,支持网易、咪咕、qq、酷狗源,唯一的缺点可能是界面是那种“经典”的扁平化设计。老外有个Musixmatch平台,但似乎是付费的?能用就不折腾了。

            QEMU(虚拟机)

            ※ 需要事先在bios/uefi页面启用虚拟化。

            https://www.qemu.org/

            apt-get install qemu-system # 安装qemu服务
            qemu-img create -f qcow2 win10.qcow2 70G # 创建虚拟硬盘
            qemu-system-x86_64 -hda win10.qcow2 -cdrom /path/to/windows10.iso -boot d -m 10G -smp 8 -enable-kvm -vga qxl -net nic -net user # 通过下载的.iso文件,分配10GB RAM、4个cpu核心,通过刚才创建的虚拟硬盘启动
            # ————
            qemu-system-x86_64 -hda win10.qcow2 -m 10G -smp 8 -enable-kvm -vga qxl -net nic -net user # 启动虚拟机(去除iso文件、)
            # 如果安装ps等软件时提示需要sse4.2及以上版本的依赖,则添加:【-cpu host】参数。
            # ————
            qemu-img resize win10.qcow2 100G # 扩充虚拟硬盘
            

            Scrcpy(手机投屏)

            https://github.com/Genymobile/scrcpy

            安装:sudo apt-get install scrcpy

            • usb连接手机(记得授权)后可以直接输入命令:scrcpy投屏手机;
            • 或在连接手机后输入:adb tcpip 5555 开启目标设备的该端口,便可拔掉数据线使用: adb connect 192.168.50.134:5555(设备的局域网IP及开放的端口)命令通过无线网连接设备,然后正常运行:scrcpy命令投屏手机,这过程中只有开启设备端口时连接至电脑即可。端口启用效力直至手机关机(或以其他方式关闭端口)、连接设备效力至网络变动。
            • windows平台下手机的声音也会被电脑接管,但linux(linuxmint)平台下仍旧是手机本体在发声,启动参数无效,未来版本或可纠错。
            • 本质上还是投屏软件,可以用鼠标模拟手指进行操作,中键(Linux)、右键是返回;
            • 键盘(ctrl+v等基础的快捷键有效,但无法用来码字)、粘贴版等不互通,如需高级设置请自行检索关键词参阅更多信息,我没这个需求。

            CyberChef(编/解码工具集)

            https://hub.docker.com/r/mpepping/cyberchef

            192.168.50.25:8000

            虽然但是我还是更习惯直接搜谷歌 xxx to xxx

            Tor Browser

            https://www.torproject.org/download/

            ※ 不能在linux上用,或没有windows上好用的工具(包括还没找的)。

            • ABBYY FineReader:据说有linux版本,但不知道有无破解方案。
            • Microsoft Office 2013:excel用习惯了,还是挺好用的。
            • Duplicate Cleaner:查重工具。
            • Everything:文件搜索工具,替代品如 Linux Search Everything 待验证。
            • EmEditor:大文件文本编辑器,windoews上的神器啊。
            • FastStone Capture:截图工具,替代品用着还没这个顺手,观察中。
            • FastCopy:复制工具,无视字符长度限制还是很好用的,轻量化,免费,该有的编辑功能也都有。
            • LTFS configurator:太复杂了,懒得折腾,因为经济问题,我也准备荒废大规模的项目备份了。
            • Victoria HDD/SSD:硬盘检测,检查有无坏道什么的还是挺好用的。
            • IDM:下载工具,不过它的镜像网站功能有些问题,而且邮件询问官方说也不准备更新维护这个功能,真要抛弃也不是什么问题。
            • oCam / ScreenToGif:轻量化录制视频/gif工具。
            • NeatReader:文档阅读器,有webui,但肯定不如本地好用,不过我平时根本不看书,也无所谓,懒得找替代品 https://www.neat-reader.com/webapp#/
            • BCompare(文件同步):破解:https://www.cnblogs.com/bluestorm/p/10259441.htmlhttps://www.cnblogs.com/zhibei/p/12095431.html,但经常失效,尤其是我就偶尔(每个月一次左右)用一下,每次用都得重新操作一遍,正版又太贵了。