最近 Ubuntu 發佈了 20.04 LTS 版本,我也在第一時間安裝體驗。因爲各類 Linux 發行版本並不像 MacOS、Windows 同樣開箱即用,所以須要作不少配置。每次配置都須要查閱各類資料,雖然網絡上有不少配置文章,但基本上都會存在一些問題:php
所以我但願整理一份最佳配置指南,除了記錄須要作什麼,還會說明背後的原理和技術背景。一方面方便本身從此查閱,另外一方面也想將這份指南分享給你們,並和你們一塊兒逐步完善它。因此,這是一份會持續更新的、有實操有原理、內容豐富的最佳配置指南。python
關注公衆號 BaronTalk,回覆 Ubuntu 便可下載最新的 PDF 版本配置文檔。linux
爲了不每次使用 sudo 命令時都輸入密碼,咱們能夠將密碼關閉。操做方法:git
第一步:終端輸入命令sudo visudo
,打開 visudo;github
第二步:找到 %sudo ALL=(ALL:ALL) ALL
這一行修改成%sudo ALL=(ALL:ALL) NOPASSWD:ALL
chrome
Ubuntu 默認的軟件源是境外的,速度上會有些問題,咱們能夠在「Software & Updates」(軟件和更新)中選擇國內的鏡像。shell
# 更新本地報數據庫
sudo apt update
# 更新全部已安裝的包(也可使用 full-upgrade)
sudo apt upgrade
# 自動移除不須要的包
sudo apt autoremove
複製代碼
這裏補充幾個經常使用的清理命令:數據庫
命令 | 描述 |
---|---|
apt autoclean | 將已刪除軟件包的.deb安裝文件從硬盤中刪除 |
apt clean | 同上,但會把已安裝的軟件包的安裝包也刪除掉 |
apt autoremove | 刪除爲了知足其餘軟件包的依賴而安裝,但如今再也不須要的軟件包 |
apt remove [軟件包名] | 刪除已安裝的軟件包(保留配置文件) |
apt --purge remove [軟件包名] | 刪除已安裝包(不保留配置文件) |
默認狀況高分屏下 UI 元素顯得太小,所以須要調整界面的縮放比例。Ubuntu20.04 默認是 GNOME 桌面,GNOME 能夠在 **Settings>Displays(設置>顯示)**中開啓 HiDPI 支持,以整數倍來調整屏幕比例。也能夠經過以下命令的來設置:ubuntu
# scaling-factor 僅能設置爲整數 1=100%,2=200% 3=300% ......
gsettings set org.gnome.desktop.interface scaling-factor 2
複製代碼
整數倍的縮放設置,在部分設備上 UI 元素要麼顯得過大,要麼顯得太小,所以咱們須要進一步調整。vim
使用下面的命令查看你 Linux 設備上的 Window System(圖形接口協議),一般是 Wayland/X11
echo $XDG_SESSION_TYPE
複製代碼
Wayland
若是是 wayland,使用下面的命令啓動實驗性的非整數倍縮放功能。
gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
複製代碼
以後再次打開 Settings>Displays,就能夠選擇非整數倍縮放(125%、150%、175%)。Ubuntu20.04 已經在 Settings>Displays 中提供了圖形化的界面來開啓實驗性的非整數倍的縮放功能,所以無需經過上面的命令來開啓。
我試驗下來,這種方式沒法在個人設備上正常設置非整數倍縮放。我判斷是由於 Ubuntu20.04 默認的 Window System 是 X11 而不是 Wayland,若是你的設備上是 Wayland,應該是能夠正常設置的。或者你在登錄桌面系統時選擇 Ubuntu On Wayland 理論上也是能夠的。
X11
對於 X11,咱們能夠同時使用 scaling-factor 和 xrandr 來實現非整數倍縮放,這可使 TTF 字體被正確縮放,防止單獨使用 xrandr 時出現的模糊現象。你可使用 gsettings 或者在 Settings>Displays 中來指定放大係數,並用 xrandr 指定縮小系數。
首先將界面縮放係數設置爲「UI看起來太大」的最小系數,一般是 2(200%),若是不夠大就繼續嘗試 3 甚至更大的係數。而後使用 xrandr 來設置縮小系數,我本身設置的是 1.25,若是 UI 看起來太大就提升係數,反之就下降係數。命令以下:
xrandr --output DP-4 --scale 1.25x1.25
複製代碼
使用上述命令你可能會遇到 warning: output DP-4 not founnd; gnoring
的提示,或者執行命令後界面無任何變化。此時你須要執行 xrandr
命令來查看你的 output 參數(也就是當前顯示接口的名稱,日誌中顯示 connected 的就是),好比我設備上的是 DP-4。
正確執行完命令後可能會出現 UI 元素太小的狀況,回去 Settings>Displays 中看看,是否是整數倍縮放被還原成了 100%,若是是從新選擇合適的縮放比例便可(好比 200%)。
重啓後 xrandr 的設置會失效,咱們能夠設置個啓動自動執行的腳本,好比 start-service.sh :
# start-service.sh
#!/bin/bash
xrandr --output DP-4 --scale 1.25x1.25
exit 0
複製代碼
接着給 start-service.sh 授予執行權限
sudo chmod +x start-service.sh
複製代碼
而後在 Ubuntu 中搜索「sartup Applications」(啓動應用程序) ,將腳本添加進去:
至此就能完美的支持 4K 屏顯示了。
Ubuntu20.04 自帶了 python3,可是某些第三方工具或者腳本仍是用的 python2,所以咱們須要自行安裝
apt install python
複製代碼
apt install git
複製代碼
因爲搜狗輸入法目前還不支持Ubuntu20.04,加之其對高分屏支持不太友好,所以再也不折騰選擇了 ibus-libpinyin。
# 安裝
sudo apt install ibus-libpinyin
sudo apt install ibus-clutter
複製代碼
接着在應用程序中找到「Language Support」(語言支持),更改「Keyboard input method system」(鍵盤輸入法系統)爲「IBUS」。重啓系統,而後在**Settings>Region & Language>Input Sources(設置>區域與語言>輸入源)**中新增「Chinese(Intelligent Pinyin)」(中文(智能拼音))就可使用中文輸入法了。
若是你用慣了 Mac 平臺下的 iTerm2,必定會對它的分屏功能戀戀不忘,然而 Ubuntu 自帶的 Terminal 並很差用。好在 Linux 下有各類開源 Terminal,我的比較推薦 Terminator,強大如 iTerm2,同樣支持分屏。
# 安裝
sudo add-apt-repository ppa:gnome-terminator
sudo apt update
sudo apt install terminator
複製代碼
Terminator 默認的界面比較醜,不過配置靈活,你們能夠根據喜愛自行調整。
搞定了 Terminal,接下來配置 Shell。執行下面的命令:
cat /etc/shells
複製代碼
能夠看到 Ubuntu 已經內置了各類 Shell:
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
複製代碼
市面上經常使用的 Linux 發行版本一般默認使用的 Shell 都是 bash,但 zsh 要遠比 bash 強大的多。
# 安裝 zsh
apt install zsh
# 將 zsh 設置爲系統默認 shell
sudo chsh -s /bin/zsh
複製代碼
不過 zsh 的配置太複雜,好在有人開發了 oh-my-zsh,可讓咱們更方便的配置 zsh。
# 自動安裝,若是你沒安裝 git 須要先安裝 git
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
# 或者也能夠選擇手動安裝
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
複製代碼
重啓 Terminal 你就能發現變化。
zsh 的配置主要集中在 ~/.zshrc 文件裏,好比咱們能夠給經常使用命令配置別名:
alias cls='clear'
alias ll='ls -l'
alias la='ls -a'
alias vi='vim'
alias grep="grep --color=auto"
複製代碼
或者選擇 zsh 的主題
ZSH_THEME="robbyrussell"
複製代碼
oh-my-zsh 內置了不少主題,對應的主題文件存放在 ~/.oh-my-zsh/themes 目錄下,你能夠根據本身的喜愛選擇或者編輯主題。
oh-my-zsh 還支持各類插件,存放在 ~/.oh-my-zsh/plugins 目錄下。這裏推薦幾款:
autojump:快速切換目錄插件
# 安裝
apt install autojump
# 使用
j Document/
複製代碼
zsh-autosuggestions:命令行命令鍵入時的歷史命令建議插件
# 安裝
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
複製代碼
zsh-syntax-highlighting:命令行語法高亮插件
# 安裝
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
複製代碼
插件安裝好後須要在 ~/.zshrc 文件裏配置後方可以使用,配置以下:
# 打開 ~/.zshrc 文件,找到以下這行配置代碼,在後面追加插件名
plugins=(其餘插件名 autojump zsh-autosuggestions zsh-syntax-highlighting)
複製代碼
配置好Terminator 和 ZSH 後,咱們還能夠爲命令行添加些有趣的小玩具。
終端黑客帝國屏保
# 安裝
sudo apt install cmatrix
# 運行(加上 -lba 參數看起來更像電影,加上 -ol 參數起來更像 Win/Mac 的屏保)
cmatrix
複製代碼
效果圖:
終端小火車動效
# 安裝
sudo apt install sl
# 運行
sl
複製代碼
效果圖:
The Bash Screenshot Information Tool,用於在終端顯示系統信息及 ASCII 化的 Linux 發行版圖標
# 安裝
sudo apt install screenfetch
# 運行
screenfetch
複製代碼
效果圖:
第一步:到 github.com/Dreamacro/c… 下載最新的 Linux 版 Clash,例如:clash-linux-amd64-v0.19.0.gz。解壓後獲得一個可執行文件 clash-linux-amd64-v0.19.0:
tar -zxvf clash-linux-amd64-v0.19.0.gz
複製代碼
第二步:使用 mv 命令移動到 /usr/local/bin/clash:
sudo mv clash-linux-amd64-v0.19.0 /usr/local/bin/clash
複製代碼
第三步:終端輸入 sudo chmod +x /usr/local/bin/clash 添加執行權限;
sudo chmod +x /usr/local/bin/clash
複製代碼
第四步:終端執行 clash 命令,運行 clash;
# 運行 clash
clash
複製代碼
此時會在 /home/{用戶ID}/.config/clash 目錄下生成兩個文件:config.yaml 和 Country.mmdb;編輯 config.yaml 文件,配置代理服務器信息和規則,部分商家會提供yaml文件,下載後 copy 過來便可;
重啓 clash(關閉並從新打開終端,執行 clash 命令)以加載更新後的配置文件;
保持 clash 運行,打開瀏覽器訪問 clash.razord.top 進行策略配置、選擇代理線路等等(可能須要根據提示輸入IP、端口和口令,具體內容可在 config.yaml 中查看;
繼續保持 clash 運行,在系統網絡設置中設置手動代理 Settings>Network>Network Proxy>Manual(設置>網絡>代理>手動),配置信息參考 config.yaml 或者啓動 clash 時終端輸出的日誌。此時就能夠經過 clash 訪問網絡了。
按照前面的方式配置好後,每次系統啓動時都須要打開終端,執行 clash 命令,而且終端不能夠關閉,不然整個 clash 進程就結束了。若是不想一直保持終端打開,可以使用 nohup clash 命令啓動後臺運行。或者但願開機自啓動 clash,可將
nohup clash
這段命令加入到前面提到的 start-service.sh 腳本的最後。
# or run:
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add -
# add Typora's repository
sudo add-apt-repository 'deb https://typora.io/linux ./'
sudo apt update
# install typora
sudo apt install typora
複製代碼
安裝 JetBrains 的 ToolBox App 後能夠無腦一鍵安裝旗下各類 IDE,包括 Android Studio。
對於官網已經提供了 Ubuntu 版本 .deb 安裝文件的,可在官網下載 .deb 安裝文件後,執行下面的命令安裝:
# 安裝
sudo apt install ./<file>.deb
複製代碼
若是你是較早的 Linux 發行版本,須要使用下面的命令安裝(下同):
sudo dpkg -i <file>.deb
sudo apt-get install -f # Install dependencies
複製代碼
應用 | 下載地址 |
---|---|
Chrome | www.google.com/chrome |
VS Code | code.visualstudio.com |
ZOOM | zoom.us/download#cl… |
WPS | www.wps.cn/product/wps… |
網易雲音樂 | music.163.com/#/download |
百度網盤 | 百度網盤...? 這垃圾玩意兒你裝它幹啥!!! |
... | ... |
注:部分應用程序並不受 Scale 縮放係數的控制,所以即便在 **Settings>Displays(設置>顯示)**中將 Scale 設置爲了 200% 後,UI 元素在高分屏下依舊顯示太小。好比:ZOOM、網易雲音樂等,爲了解決這一問題可以使用下面的命令來啓動,便可正常顯示。
# 啓動zoom,縮放倍數可根據須要自行調整
QT_SCALE_FACTOR=2 zoom
# 啓動網易雲音樂
QT_SCALE_FACTOR=2 netease-cloud-music
複製代碼
對於官網未提供了 Ubuntu 版本 .deb 安裝文件,但 deepin 中有的應用程序,可使用 Deepin-Wine 來安裝。
wine 是一種在 Linux 平臺實現了部分 Windows 系統 API 的技術,可讓用戶在 Linux 平臺無縫使用 Windows 平臺的應用程序。
deepin-wine 是國內的深度社區在 deepin linux 上通過改造的 wine 程序,而且社區在 deepin-wine 之上移植了不少的 Windows 軟件,好比微信、QQ、TIM等。
github 上有人開發了一個項目 deepin-wine-ubuntu,將 deepin-wine 及其之上適配好的各類 deb 軟件包遷移到了 Ubuntu 上。要安裝微信、QQ等軟件,咱們須要先安裝 deep-wine-ubuntu。方法以下:
# 首先 clone deepin-wine-ubuntu 源碼到本地
git clone git@github.com:wszqkzqk/deepin-wine-ubuntu.git
# 切換到源碼目錄
cd deepin-wine-ubuntu
# 安裝腳本受權
sudo chmod +x install_2.8.22.sh
# 安裝 deep-wine-ubuntu
./install_2.8.22.sh
複製代碼
deep-wine-ubuntu 安裝完成以後,咱們就能夠下載深度社區提供的各類 deb 軟件,具體安裝方同第 4 小節的安裝方式:
# 安裝
sudo apt install ./<file>.deb
複製代碼
深度社區提供的各類 deb 軟件下載地址:
軟件 | 下載地址 |
---|---|
mirrors.aliyun.com/deepin/pool… | |
TIM | mirrors.aliyun.com/deepin/pool… |
微信 | mirrors.aliyun.com/deepin/pool… |
... | ... |
更多安裝方法及軟件地址能夠參考 github.com/wszqkzqk/de…
若是你的系統語言非中文,經過 deepin-wine 啓動的軟件中文會出現亂碼。你須要將 /opt/deepinwine/tools/run.sh 文件中 WINE_CMD 這一行修改成:
WINE_CMD="LC_ALL=zh_CN.UTF-8 deepin-wine"
不少軟件只提供了 rmp 格式的安裝包,並未提供 deb 格式的安裝包,好比:xmind。所以咱們須要將其轉爲 deb 安裝包在再進行安裝。這裏咱們拿 xmind 來舉例,看看如何操做。
好比咱們下載了 xmind 安裝包 XMind-2020.rpm:
# 添加 Universe 倉庫(若是未添加)
sudo add-apt-repository universe
# 更新
sudo apt update
# 安裝 Alien
sudo apt install alien
# 將.rpm 包轉換爲.deb 包(當前目錄下會生成一個 deb 安裝包,好比:XMind-2020.deb)
sudo alien XMind-2020.rpm
# 安裝
sudo dpkg -i XMind-2020.deb
複製代碼
sudo apt install gnome-tweak-tool
複製代碼
# 讓 gnome 支持插件擴展
sudo apt install gnome-shell-extensions
# chrome 瀏覽器擴展支持,可使用瀏覽器安裝插件
sudo apt install chrome-gnome-shell
複製代碼
插件名 | 說明 |
---|---|
Dash to Dock | 自定義 dock |
Screenshot Tool | 截圖插件 |
Clipboard Indicator | 擴展粘貼板,能夠看到歷史粘貼內容 |
Coverflow Alt-Tab | 修改 Alt-Tab 應用切換效果 |
Applications Menu | 在頂部狀態欄添加應用程序入口 |
OpenWeather | 頂部狀態欄顯示天氣數據 |
Places Status Indicator | 頂部狀態欄增長文件目錄訪問入口 |
Status Title Bar | 在頂部狀態欄中顯示當前窗口的標題 |
GTK Title Bar | 移除非 gtk 應用程序的標題欄 |
Hide Top Bar | 自動隱藏狀態欄 |
Transparent Top Bar | 透明狀態欄 |
... | ... |
更多擴展插件你們自行在extensions.gnome.org上探索吧。
可在 GNOME-LOOK 上下載各類桌面主題、Shell 主題、圖標(icon)主題
安裝桌面或者 shell 主題
# 解壓下載的主題文件
tar -xvf FileName.tar //解壓
# 將解壓後的主題文件拷貝到 /usr/share/themes
sudo cp -r FileName /usr/share/themes
複製代碼
安裝 icon 主題
# 解壓下載的主題文件
tar -xvf FileName.tar //解壓
# 將解壓後的主題文件拷貝到 /usr/share/icons
sudo cp -r FileName /usr/share/icons
複製代碼
以後打開 Tweeks 選擇安裝的主題便可
推薦幾個下載 4K 8K 超高清壁紙的網站:
最後貼一張美化後的桌面(Applications Theme: SURU++; Icons Theme: Reversal)
若是你是雙系統,安裝完 Ubuntu 設置好系統時間後,回到 Windows 會發現時間不統一。爲了理解爲何,咱們得先了解點基礎知識:
UTC(Coordinated Universal Time),協調世界時(世界統一時間);
GMT(Greenwich Mean Time),格林威治標準時間。
Windows 與類 Unix 系統(Unix/Linux/Mac)看待系統硬件時間的方式是不同的:
Windows 把計算機硬件時間看成本地時間(local time),因此在 Windows 系統中顯示的時間跟 BIOS 中顯示的時間是同樣的。
類 Unix 系統把計算機硬件時間看成 UTC, 因此係統啓動後會在該時間的基礎上,加上電腦設置的時區數(比中國就加8),所以 Ubuntu 中顯示的時間老是比 Windows 中顯示的時間快 8 小時。
當你在 Ubuntu 中把系統顯示的時間設置正確後,計算機硬件時間就變成了在這個時間上減去 8 小時,因此當你切換成 Windows 系統後慢了8小時,就是這個緣由。
解決方案:在 Ubuntu 中把計算機硬件的時間改爲系統顯示時間,即禁用 Ubuntu 中的 UTC
timedatectl set-local-rtc 1 --adjust-system-clock
複製代碼
這個問題是我在 Ubuntu19.10 版本遇到的,20.04 版本中我沒作驗證,不肯定是否有一樣的問題。
在解決問題以前,先補充一個關鍵知識點:顯示管理器(Display Manager),它用來提供圖形化登錄,向用戶顯示圖形化登錄界面,並處理用戶身份驗證。Linux 中常見的顯示管理器包括 gdm三、kdm、LightDM等:
緣由:
實操驗證,初步判定是由於設置中開啓了自動登錄,觸發了 dgm3 的某種 bug 致使的。(Ubuntu19.10 默認使用的是 GNOME 桌面系統, 而 gdm3 是 GNOME 的顯示管理器)
解決方案:使用 LightDM 替換 gdm3
第一步:安裝 LightDM(因爲你如今沒法進入圖形化桌面,所以須要你在登錄頁面使用 ctl + alt + F2 快捷鍵進入命令行模式,輸入帳號密碼登錄,而後使用下面的命令安裝)
sudo apt-get install lightdm
複製代碼
安裝完成後,系統會自動彈框要求你選擇當前系統中已安裝的顯示管理器,選擇 lightdm。
第二步:重啓
sudo reboot
複製代碼
重啓完就能正常登錄了。
這時候你會發現登錄界面變了,若是你想切回以前的登錄界面,在進入系統後把自動登錄關閉,而後實現下面的命令從新選擇 gdm3 顯示管理器便可(需重啓生效)
sudo dpkg-reconfigure gdm3
複製代碼
並非把自動登錄關閉後 gdm3 的 bug 就必定能規避掉,這一點可能只適用於我安裝的 Ubuntu19.10;我這裏說的緣由也不必定適用全部人。但有一點能夠確定的是,若是出現循環登錄的狀況,更換顯示管理器一般是能解決問題的。
若是你想查看當前系統正在運行的顯示管理器,可使用下面的命令:
cat /etc/X11/default-display-manager
複製代碼
Ubuntu 20.04 自帶了 nvidia 顯卡驅動,可是被我不當心玩壞了。主要表如今:
nvidia-settings
命令出錯;若是你也和我遇到一樣的問題,或者但願手動安裝顯卡驅動,能夠按照下面的方式操做。(須要首先到 NVIDIA 官網下載你設備對應的顯卡驅動)
# 先安裝一些依賴庫
sudo apt install build-essential libglvnd-dev pkg-config
# 中止桌面管理器,進入命令行摸索
sudo telinit 3
# 刪除已安裝的 nvidia 驅動
sudo apt purge "nvidia*"
# 手動安裝顯卡驅動
sudo bash NVIDIA-Linux-x86_64-440.82.run
# 重啓
sudo reboot
複製代碼
更多顯卡驅動方式可參考:linuxconfig.org/how-to-inst…
參考文檔:
本文檔會持續更新,關注公衆號 BaronTalk,回覆 Ubuntu 便可下載最新的 PDF 版本配置文檔。
若是你喜歡個人文章,就關注下個人公衆號 BaronTalk 、 知乎專欄 或者在 GitHub 上添個 Star 吧!
- 微信公衆號:BaronTalk
- 知乎專欄:zhuanlan.zhihu.com/baron
- GitHub:github.com/BaronZ88
- 我的博客:baronzhang.com