aimEye

aimEye

Linux Mint安裝後配置

記錄安裝 Linux Mint 之後常做的一些動作,長期更新。除非明確指出,命令應該都可以用於大多數用 apt 做包管理的發行版。才疏學淺歡迎捉蟲。

換源#

默認的源一般是國外的,換源會快很多,Mint 提供了管理 apt 源的 gui。

開始菜單搜索 Software Sources

image

輸入密碼

image

對 Main 和 Base,分別單擊當前源查看所有源列表,默認應該是 geoip 按大致距離排序

image

可以盲選 Tuna,也可以等一會看測速結果哪個快,雙擊選定

image

兩個源換完點下面 Ok 重新生成 apt 緩存

image

更新軟件

sudo apt update # 剛才點ok做的就是這一步,可以跳過
sudo apt upgrade

中文輸入法#

開始菜單搜索 Input method

1

點左側簡中,按照指引執行。

2

點 Install,跟隨彈出的對話框裝軟件。完成後上方輸入法框架切換為 Fcitx。

3

登出,重新登錄。搜索運行 Fcitx Configuration

image

點左下角 +,取消Only Show Current Language的選中,搜 pinyin,點 Pinyin,Ok 確定。之後 Ctrl+Space 可以切換輸入法

image

常用命令行程序#

  • 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

image

安裝最新版 Java:

安裝完成後 update-alternatives 應該可以識別

編輯器 / IDE#

IDEA#

Flathub 上有 Idea,不過感覺安裝下載要大很多,因為 FLathub 偏容器的風格用起來也不是太方便。

https://www.jetbrains.com/idea/download/?section=linux

從 Intellj 官网下载,注意 Ultimate 是付費軟件,30 天試用。往下滑 Community Edition 是免費的。

下載完成後解壓,從解壓出的根目錄運行 ./bin/idea.sh 命令啟動

在歡迎界面可以將 idea 添加到開始菜單

image

修改鍵位#

最方便的大概是買個可以改鍵的機械鍵盤

我有兩個習慣的修改:切換 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 開發
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。