記錄安裝 Linux Mint 之後常做的一些動作,長期更新。除非明確指出,命令應該都可以用於大多數用 apt 做包管理的發行版。才疏學淺歡迎捉蟲。
換源#
默認的源一般是國外的,換源會快很多,Mint 提供了管理 apt 源的 gui。
開始菜單搜索 Software Sources
輸入密碼
對 Main 和 Base,分別單擊當前源查看所有源列表,默認應該是 geoip 按大致距離排序
可以盲選 Tuna,也可以等一會看測速結果哪個快,雙擊選定
兩個源換完點下面 Ok 重新生成 apt 緩存
更新軟件
sudo apt update # 剛才點ok做的就是這一步,可以跳過
sudo apt upgrade
中文輸入法#
開始菜單搜索 Input method
點左側簡中,按照指引執行。
點 Install,跟隨彈出的對話框裝軟件。完成後上方輸入法框架切換為 Fcitx。
登出,重新登錄。搜索運行 Fcitx Configuration
。
點左下角 +,取消Only Show Current Language
的選中,搜 pinyin,點 Pinyin,Ok 確定。之後 Ctrl+Space 可以切換輸入法
常用命令行程序#
- vim:命令行編輯文本,比 vi 用起來直觀一點
- git:版本管理
- htop:監控進程,cpu,內存狀態等,個人認為比一般默認帶的 top 好看一點
- nload:監控網速,流量
- aria2:多遠端,多進程(還是線程沒有弄很清楚,反正可以)加速下載
- jq:命令行中解析 json
- xclip:命令行 <-> 貼板
sudo apt install vim ...
- rclone:命令行和網盤間同步文件
sudo -v ; curl https://rclone.org/install.sh | sudo bash
終端#
常用腳本#
可以用如下方式向 bash 中添加一些常用腳本:
vim ~/custom # 把下面的常用腳本貼進去保存
# 在rc腳本末尾source custom腳本,每次登錄時執行
echo "source ~/custom" >> ~/.bashrc
echo "source ~/custom" >> ~/.zshrc
常用腳本 ~/custom
# 命令行開啟/關閉代理(clash默認地址)
# 用 px/upx 命令開啟/關閉命令行代理,生效的前提是使用的軟件遵從下面的命令行環境變量
px() {
proxy_addr=http://127.0.0.1:7890
export https_proxy=$proxy_addr http_proxy=$proxy_addr all_proxy=$proxy_addr
}
upx() {
unset http_proxy https_proxy all_proxy
}
# 複製日期到剪貼板
cdate() {
xclip -r -sel clip <<< $(date '+%b %d, %Y')
}
# 完成git添加,commit和推送
# gitp {commit message}
gitp() {
git add *; git commit -m $1; git push
}
# 獲取github項目最新release版本號
# ghlrv VSCodium/vscodium
ghlrv() {
version=$(curl -sL https://api.github.com/repos/$1/releases/latest | jq -r ".tag_name");
echo $version;
}
# jekyll創建新的博客md,填寫基本信息模板
function nb() {
local cur_date=$(date +%F)
local cur_time=$(date +%T)
local local_utc_offset=$(date +%z)
local title=$*
file="$cur_date-"${title// /-}".md"
content="---
layout: post
title: \"$title\"
permalink: /:title/
date: $cur_date $cur_time $local_utc_offset
categories:
tags:
pin: false
published: false
---
"
if [ ! -f "$file" ]; then
echo "$content" >> $file
echo "Blog post created with the title: $title"
else
echo "ERROR: Blog post with the title already exits, try a new title"
fi
}
# 常用命令別名
alias mamba=micromamba
alias conda=micromamba
alias vscode=/usr/bin/code
alias code=codium
alias pa='pre-commit run --all-files'
# -c:斷點續傳一個順序下載下來的文件(如瀏覽器下載的)
# -x:允許最大連接數
# -s:目標連接總數,aria2嚴格尊重服務器端的最多連接數,如果服務器說最多創建兩個,這裡指定了創建16個,最後會創建2個連接
# 應該可以理解最終創建的連接數是 -x,-s,服務器允許 三者中最小的
alias down='aria2c -c -x 16 -s 16 '
alias rclone='rclone --order-by name,desc --transfers=32 --progress'
alias nload='nload -u M' # 默認是Byte為單位,MB為單位好看些
alias idea='cd ~/Desktop/software/idea*/bin/; ./idea.sh'
zsh#
sudo apt install -y zsh
cat /etc/shells # 列出所有可用的shell,應該有
chsh -s /bin/zsh # 切換到zsh
# 安裝ohmyzsh
px # githubusercontent可能被牆
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
upx
xfce4-terminal#
希望終端有下列功能 / 特性:
- 選中立即複製
- 無限回滾:輸出多時不會被刷沒
- 不安全粘貼彈框:一方面不會粘貼即執行,此外在 gui 中修改腳本比在命令行裡稍微方便點
- Quake Mode:快捷鍵喚起 / 收回屏幕頂部下拉的終端窗口
- 輕量,依賴少
感覺 xfce4 很好地滿足上述
安裝:
doas apt install xfce4-terminal
給 xfce4-terminal --drop-down
命令綁定一個快捷鍵,xfce 桌面是搜索 keyboard,在 Application Shortcuts 中設。
編程語言#
Python#
安裝 micromamba,配清華源。
px # githubusercontent可能被牆
"${SHELL}" <(curl -L micro.mamba.pm/install.sh)
cat <<EOF >> ~/.condarc
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/
EOF
cat <<EOF >>~/.config/pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
EOF
upx
Java#
安裝默認 Java 版本
sudo apt install default-jdk # 安裝默認java版本
也可以指定 java 版本,不過 Mint 提供的大概率不到最新版。
apt-cache search openjdk- | grep -P "jdk " # 搜索apt提供的所有Java版本
doas apt install openjdk-[version]-jdk # 安裝指定版本
切換 Java 版本
sudo update-alternatives --config java
安裝最新版 Java:
- 從oracle java downloads下載 jdk deb 包
- 安裝:
doas apt install ./jdk-[version]_linux-x64_bin.deb
安裝完成後 update-alternatives 應該可以識別
編輯器 / IDE#
IDEA#
Flathub 上有 Idea,不過感覺安裝下載要大很多,因為 FLathub 偏容器的風格用起來也不是太方便。
https://www.jetbrains.com/idea/download/?section=linux
從 Intellj 官网下载,注意 Ultimate 是付費軟件,30 天試用。往下滑 Community Edition 是免費的。
下載完成後解壓,從解壓出的根目錄運行 ./bin/idea.sh
命令啟動
在歡迎界面可以將 idea 添加到開始菜單
修改鍵位#
最方便的大概是買個可以改鍵的機械鍵盤
我有兩個習慣的修改:切換 Caps 和 Tab,右空格 j/k->Home/End。第二個不是分體空格的鍵盤感覺很難實現,主要研究了第一個。
大概兩類方案:
- xorg 生態下的軟件:(大概)優點是效率高,新增依賴少;缺點是做起來不是很方便和不支持 wayland
- 其他軟件:優點方便,選對了可能一次成功很簡單;缺點是依賴多,需要後台運行
第一類方案研究了半天就記住了一句命令:重置鍵盤到 us 佈局
setxkbmap -layout us
第二類方案比較多,參考:https://medium.com/@canadaduane/key-remapping-in-linux-2021-edition-47320999d2aa
Input Remapper 做 Cpas 和 Tab 的交換一次成功,安裝的時候大概有 200m 的 Python 依賴,不過配置很簡單,看起來功能比較豐富,感覺不是最好的選擇但夠好了。
version=$(ghlrv sezanzeb/input-remapper)
down https://github.com/sezanzeb/input-remapper/releases/download/${version}/input-remapper-${version}.deb
sudo apt install ./input-remapper-${version}.deb
rm input-remapper-${version}.deb
常用軟件#
Codium#
Codium 是微軟 VSCode 的 FOSS build
version=$(ghlrv VSCodium/vscodium)
down https://github.com/VSCodium/vscodium/releases/download/$version/codium_${version}_amd64.deb
doas apt install ./codium_${version}_amd64.deb
rm codium_${version}_amd64.deb
常用插件
- akamud.vscode-theme-onedark
- ms-python.python
瀏覽器#
按照(個人理解的)保護隱私 / 防指紋程度高到低排序
Tor Browser:https://www.torproject.org/download
mkdir -p ~/Desktop/software
cd ~/Desktop/software
px
# parse bin and sig url
tor_versions=$(curl -s https://aus1.torproject.org/torbrowser/update_3/release/downloads.json)
bin_url=$(echo $tor_versions | jq -r '.downloads.linux64.ALL.binary')
sig_url=$(echo $tor_versions | jq -r '.downloads.linux64.ALL.sig')
# jq -r # raw output without "
wget $bin_url
tar -xvf tor-browser-linux64-*_ALL.tar.xz
rm tor-browser-linux64-*_ALL.tar.xz
cd tor-browser
./start-tor-browser.desktop --register-app
upx
Mullvad Browser: https://mullvad.net/en/download/browser/linux
mkdir -p ~/Desktop/software
cd ~/Desktop/software
px
wget https://mullvad.net/en/download/browser/linux64/latest
tar -xvf latest
rm latest
cd mullvad-browser
./start-mullvad-browser.desktop --register-app
upx
Libre Wolf:https://librewolf.net/installation/
sudo apt update && sudo apt install -y wget gnupg lsb-release apt-transport-https ca-certificates
distro=$(if echo " una bookworm vanessa focal jammy bullseye vera uma " | grep -q " $(lsb_release -sc) "; then echo $(lsb_release -sc); else echo focal; fi)
wget -O- https://deb.librewolf.net/keyring.gpg | sudo gpg --dearmor -o /usr/share/keyrings/librewolf.gpg
sudo tee /etc/apt/sources.list.d/librewolf.sources << EOF > /dev/null
Types: deb
URIs: https://deb.librewolf.net
Suites: $distro
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/librewolf.gpg
EOF
sudo apt update
sudo apt install librewolf -y
Brave:https://brave.com/linux/
sudo apt install curl
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update
sudo apt install brave-browser
Changelog#
- Sep 21, 2023:初版。終端,Python
- Sep 22, 2023:換源,中文輸入法
- Sep 24, 2023:瀏覽器
- 計劃:聊天 / 會議,docker,虛擬機,密碼管理,API 測試,java 開發