寫給工程師的 Ubuntu 20.04 最佳配置指南

最近 Ubuntu 發(fā)布了 20.04 LTS 版本,我也在第一時(shí)間安裝體驗(yàn)。由于各種 Linux 發(fā)行版本并不像 MacOS、Windows 一樣開箱即用,因此需要做很多配置。每次配置都需要查閱各種資料,雖然網(wǎng)絡(luò)上有很多配置文章,但基本上都會(huì)存在一些問題:

  1. 只教怎么做,不說為什么;
  2. 文檔陳舊,不更新;
  3. 內(nèi)容缺失,不豐富;......

因此我希望整理一份最佳配置指南,除了記錄需要做什么,還會(huì)說明背后的原理和技術(shù)背景。一方面方便自己今后查閱,另一方面也想將這份指南分享給大家,并和大家一起逐步完善它。所以,這是一份會(huì)持續(xù)更新的、有實(shí)操有原理、內(nèi)容豐富的最佳配置指南。

關(guān)注公眾號(hào) BaronTalk,回復(fù) Ubuntu 即可下載最新的 PDF 版本配置文檔。

一. 系統(tǒng)配置

1. 關(guān)閉 sudo 密碼

為了避免每次使用 sudo 命令時(shí)都輸入密碼,我們可以將密碼關(guān)閉。操作方法:

第一步:終端輸入命令sudo visudo,打開 visudo;

第二步:找到 %sudo ALL=(ALL:ALL) ALL 這一行修改為%sudo ALL=(ALL:ALL) NOPASSWD:ALL

2. 修改軟件源

Ubuntu 默認(rèn)的軟件源是境外的,速度上會(huì)有些問題,我們可以在「Software & Updates」(軟件和更新)中選擇國內(nèi)的鏡像。


3. 更新系統(tǒng)

# 更新本地報(bào)數(shù)據(jù)庫
sudo apt update

# 更新所有已安裝的包(也可以使用 full-upgrade)
sudo apt upgrade

# 自動(dòng)移除不需要的包
sudo apt autoremove

這里補(bǔ)充幾個(gè)常用的清理命令:

命令 描述
apt autoclean 將已刪除軟件包的.deb安裝文件從硬盤中刪除
apt clean 同上,但會(huì)把已安裝的軟件包的安裝包也刪除掉
apt autoremove 刪除為了滿足其他軟件包的依賴而安裝,但現(xiàn)在不再需要的軟件包
apt remove [軟件包名] 刪除已安裝的軟件包(保留配置文件)
apt --purge remove [軟件包名] 刪除已安裝包(不保留配置文件)

4. 高分屏適配

默認(rèn)情況高分屏下 UI 元素顯得過小,因此需要調(diào)整界面的縮放比例。Ubuntu20.04 默認(rèn)是 GNOME 桌面,GNOME 可以在 Settings>Displays(設(shè)置>顯示)中開啟 HiDPI 支持,以整數(shù)倍來調(diào)整屏幕比例。也可以通過如下命令的來設(shè)置:

# scaling-factor 僅能設(shè)置為整數(shù) 1=100%,2=200% 3=300% ......
gsettings set org.gnome.desktop.interface scaling-factor 2

整數(shù)倍的縮放設(shè)置,在部分設(shè)備上 UI 元素要么顯得過大,要么顯得過小,因此我們需要進(jìn)一步調(diào)整。

使用下面的命令查看你 Linux 設(shè)備上的 Window System(圖形接口協(xié)議),通常是 Wayland/X11

echo $XDG_SESSION_TYPE

Wayland

如果是 wayland,使用下面的命令啟動(dòng)實(shí)驗(yàn)性的非整數(shù)倍縮放功能。

gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

之后再次打開 Settings>Displays,就可以選擇非整數(shù)倍縮放(125%、150%、175%)。Ubuntu20.04 已經(jīng)在 Settings>Displays 中提供了圖形化的界面來開啟實(shí)驗(yàn)性的非整數(shù)倍的縮放功能,因此無需通過上面的命令來開啟。

我試驗(yàn)下來,這種方式無法在我的設(shè)備上正常設(shè)置非整數(shù)倍縮放。我判斷是因?yàn)?Ubuntu20.04 默認(rèn)的 Window System 是 X11 而不是 Wayland,如果你的設(shè)備上是 Wayland,應(yīng)該是可以正常設(shè)置的。或者你在登陸桌面系統(tǒng)時(shí)選擇 Ubuntu On Wayland 理論上也是可以的。

X11

對(duì)于 X11,我們可以同時(shí)使用 scaling-factor 和 xrandr 來實(shí)現(xiàn)非整數(shù)倍縮放,這可以使 TTF 字體被正確縮放,防止單獨(dú)使用 xrandr 時(shí)出現(xiàn)的模糊現(xiàn)象。你可以使用 gsettings 或者在 Settings>Displays 中來指定放大系數(shù),并用 xrandr 指定縮小系數(shù)。

首先將界面縮放系數(shù)設(shè)置為「UI看起來太大」的最小系數(shù),通常是 2(200%),如果不夠大就繼續(xù)嘗試 3 甚至更大的系數(shù)。然后使用 xrandr 來設(shè)置縮小系數(shù),我自己設(shè)置的是 1.25,如果 UI 看起來太大就提高系數(shù),反之就降低系數(shù)。命令如下:

xrandr --output DP-4 --scale 1.25x1.25

使用上述命令你可能會(huì)遇到 warning: output DP-4 not founnd; gnoring的提示,或者執(zhí)行命令后界面無任何變化。此時(shí)你需要執(zhí)行 xrandr 命令來查看你的 output 參數(shù)(也就是當(dāng)前顯示接口的名稱,日志中顯示 connected 的就是),比如我設(shè)備上的是 DP-4。

正確執(zhí)行完命令后可能會(huì)出現(xiàn) UI 元素過小的情況,回去 Settings>Displays 中看看,是不是整數(shù)倍縮放被還原成了 100%,如果是重新選擇合適的縮放比例即可(比如 200%)。

重啟后 xrandr 的設(shè)置會(huì)失效,我們可以設(shè)置個(gè)啟動(dòng)自動(dòng)執(zhí)行的腳本,比如 start-service.sh :

# start-service.sh
#!/bin/bash
xrandr --output DP-4 --scale 1.25x1.25
exit 0

接著給 start-service.sh 授予執(zhí)行權(quán)限

sudo chmod +x start-service.sh

然后在 Ubuntu 中搜索「sartup Applications」(啟動(dòng)應(yīng)用程序) ,將腳本添加進(jìn)去:

至此就能完美的支持 4K 屏顯示了。

5. 安裝 Python2

Ubuntu20.04 自帶了 python3,但是某些第三方工具或者腳本還是用的 python2,因此我們需要自行安裝

apt install python

6. 安裝 Git

apt install git

7. 中文輸入法

由于搜狗輸入法目前還不支持Ubuntu20.04,加之其對(duì)高分屏支持不太友好,因此不再折騰選擇了 ibus-libpinyin。

# 安裝
sudo apt install ibus-libpinyin 
sudo apt install ibus-clutter

接著在應(yīng)用程序中找到「Language Support」(語言支持),更改「Keyboard input method system」(鍵盤輸入法系統(tǒng))為「IBUS」。重啟系統(tǒng),然后在Settings>Region & Language>Input Sources(設(shè)置>區(qū)域與語言>輸入源)中新增「Chinese(Intelligent Pinyin)」(中文(智能拼音))就可以使用中文輸入法了。

二. 打造你的命令行工具(Terminator && ZSH)

1. 安裝 Terminnator

如果你用慣了 Mac 平臺(tái)下的 iTerm2,一定會(huì)對(duì)它的分屏功能戀戀不忘,然而 Ubuntu 自帶的 Terminal 并不好用。好在 Linux 下有各種開源 Terminal,個(gè)人比較推薦 Terminator,強(qiáng)大如 iTerm2,一樣支持分屏。

# 安裝
sudo add-apt-repository ppa:gnome-terminator
sudo apt update
sudo apt install terminator

Terminator 默認(rèn)的界面比較丑,不過配置靈活,大家可以根據(jù)喜好自行調(diào)整。

2. 配置 Shell(安裝 zsh 和 oh-my-zsh)

搞定了 Terminal,接下來配置 Shell。執(zhí)行下面的命令:

cat /etc/shells

可以看到 Ubuntu 已經(jīng)內(nèi)置了各種 Shell:

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh

市面上常用的 Linux 發(fā)行版本通常默認(rèn)使用的 Shell 都是 bash,但 zsh 要遠(yuǎn)比 bash 強(qiáng)大的多。

# 安裝 zsh
apt install zsh

# 將 zsh 設(shè)置為系統(tǒng)默認(rèn) shell
sudo chsh -s /bin/zsh

不過 zsh 的配置太復(fù)雜,好在有人開發(fā)了 oh-my-zsh,可以讓我們更方便的配置 zsh。

# 自動(dòng)安裝,如果你沒安裝 git 需要先安裝 git
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

# 或者也可以選擇手動(dòng)安裝
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

重啟 Terminal 你就能發(fā)現(xiàn)變化。

3. ZSH 配置

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 內(nèi)置了很多主題,對(duì)應(yīng)的主題文件存放在 ~/.oh-my-zsh/themes 目錄下,你可以根據(jù)自己的喜好選擇或者編輯主題。

4. ZSH 插件安裝

oh-my-zsh 還支持各種插件,存放在 ~/.oh-my-zsh/plugins 目錄下。這里推薦幾款:

autojump:快速切換目錄插件

# 安裝
apt install autojump

# 使用
j Document/

zsh-autosuggestions:命令行命令鍵入時(shí)的歷史命令建議插件

# 安裝
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)

5. 有趣的命令行小玩具

配置好Terminator 和 ZSH 后,我們還可以為命令行添加些有趣的小玩具。

CMatrix(https://github.com/abishekvashok/cmatrix)

終端黑客帝國屏保

# 安裝
sudo apt install cmatrix

# 運(yùn)行(加上 -lba 參數(shù)看起來更像電影,加上 -ol 參數(shù)起來更像 Win/Mac 的屏保)
cmatrix

效果圖:

Steam Locomotive(https://github.com/mtoyoda/sl)

終端小火車動(dòng)效

# 安裝
sudo apt install sl

# 運(yùn)行
sl

效果圖:

Screenfetch(https://github.com/KittyKatt/screenFetch)

The Bash Screenshot Information Tool,用于在終端顯示系統(tǒng)信息及 ASCII 化的 Linux 發(fā)行版圖標(biāo)

# 安裝
sudo apt install screenfetch

# 運(yùn)行
screenfetch

效果圖:

三. 軟件安裝

1. 安裝Clash(搭個(gè)tizi,你懂的)

第一步:到 https://github.com/Dreamacro/clash/releases 下載最新的 Linux 版 Clash,例如:clash-linux-amd64-v0.19.0.gz。解壓后得到一個(gè)可執(zhí)行文件 clash-linux-amd64-v0.19.0:

tar -zxvf clash-linux-amd64-v0.19.0.gz

第二步:使用 mv 命令移動(dòng)到 /usr/local/bin/clash:

sudo mv clash-linux-amd64-v0.19.0 /usr/local/bin/clash

第三步:終端輸入 sudo chmod +x /usr/local/bin/clash 添加執(zhí)行權(quán)限;

sudo chmod +x /usr/local/bin/clash

第四步:終端執(zhí)行 clash 命令,運(yùn)行 clash;

# 運(yùn)行 clash
clash

此時(shí)會(huì)在 /home/{用戶ID}/.config/clash 目錄下生成兩個(gè)文件:config.yaml 和 Country.mmdb;編輯 config.yaml 文件,配置代理服務(wù)器信息和規(guī)則,部分商家會(huì)提供yaml文件,下載后 copy 過來即可;

重啟 clash(關(guān)閉并重新打開終端,執(zhí)行 clash 命令)以加載更新后的配置文件;

保持 clash 運(yùn)行,打開瀏覽器訪問 clash.razord.top 進(jìn)行策略配置、選擇代理線路等等(可能需要根據(jù)提示輸入IP、端口和口令,具體內(nèi)容可在 config.yaml 中查看;

繼續(xù)保持 clash 運(yùn)行,在系統(tǒng)網(wǎng)絡(luò)設(shè)置中設(shè)置手動(dòng)代理 Settings>Network>Network Proxy>Manual(設(shè)置>網(wǎng)絡(luò)>代理>手動(dòng)),配置信息參考 config.yaml 或者啟動(dòng) clash 時(shí)終端輸出的日志。此時(shí)就可以通過 clash 訪問網(wǎng)絡(luò)了。

按照前面的方式配置好后,每次系統(tǒng)啟動(dòng)時(shí)都需要打開終端,執(zhí)行 clash 命令,并且終端不可以關(guān)閉,否則整個(gè) clash 進(jìn)程就結(jié)束了。如果不想一直保持終端打開,可使用 nohup clash 命令啟動(dòng)后臺(tái)運(yùn)行。或者希望開機(jī)自啟動(dòng) clash,可將 nohup clash 這段命令加入到前面提到的 start-service.sh 腳本的最后。

2. 安裝Typroa(開源MarkDown編輯器)

# 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

3. JetBrains 全家桶

安裝 JetBrains 的 ToolBox App 后可以無腦一鍵安裝旗下各種 IDE,包括 Android Studio。

4. 其它應(yīng)用程序安裝

對(duì)于官網(wǎng)已經(jīng)提供了 Ubuntu 版本 .deb 安裝文件的,可在官網(wǎng)下載 .deb 安裝文件后,執(zhí)行下面的命令安裝:

# 安裝
sudo apt install ./<file>.deb

如果你是較早的 Linux 發(fā)行版本,需要使用下面的命令安裝(下同):

sudo dpkg -i <file>.deb
sudo apt-get install -f # Install dependencies
應(yīng)用 下載地址
Chrome https://www.google.com/chrome
VS Code https://code.visualstudio.com
ZOOM https://zoom.us/download#client_4meeting
WPS https://www.wps.cn/product/wpslinux
網(wǎng)易云音樂 https://music.163.com/#/download
百度網(wǎng)盤 百度網(wǎng)盤...? 這垃圾玩意兒你裝它干啥?。?!
... ...

注:部分應(yīng)用程序并不受 Scale 縮放系數(shù)的控制,因此即使在 Settings>Displays(設(shè)置>顯示)中將 Scale 設(shè)置為了 200% 后,UI 元素在高分屏下依舊顯示過小。比如:ZOOM、網(wǎng)易云音樂等,為了解決這一問題可使用下面的命令來啟動(dòng),即可正常顯示。

# 啟動(dòng)zoom,縮放倍數(shù)可根據(jù)需要自行調(diào)整
QT_SCALE_FACTOR=2 zoom

# 啟動(dòng)網(wǎng)易云音樂
QT_SCALE_FACTOR=2 netease-cloud-music

5. 使用 Deepin-Wine 安裝 QQ/TIM/微信/Office/...

對(duì)于官網(wǎng)未提供了 Ubuntu 版本 .deb 安裝文件,但 deepin 中有的應(yīng)用程序,可以使用 Deepin-Wine 來安裝。

wine 是一種在 Linux 平臺(tái)實(shí)現(xiàn)了部分 Windows 系統(tǒng) API 的技術(shù),可以讓用戶在 Linux 平臺(tái)無縫使用 Windows 平臺(tái)的應(yīng)用程序。

deepin-wine 是國內(nèi)的深度社區(qū)在 deepin linux 上經(jīng)過改造的 wine 程序,并且社區(qū)在 deepin-wine 之上移植了很多的 Windows 軟件,比如微信、QQ、TIM等。

github 上有人開發(fā)了一個(gè)項(xiàng)目 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

# 安裝腳本授權(quán)
sudo chmod +x install_2.8.22.sh

# 安裝 deep-wine-ubuntu
./install_2.8.22.sh  

deep-wine-ubuntu 安裝完成之后,我們就可以下載深度社區(qū)提供的各種 deb 軟件,具體安裝方同第 4 小節(jié)的安裝方式:

# 安裝
sudo apt install ./<file>.deb

深度社區(qū)提供的各種 deb 軟件下載地址:

軟件 下載地址
QQ https://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.qq.im
TIM https://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.qq.office
微信 https://mirrors.aliyun.com/deepin/pool/non-free/d/deepin.com.wechat
... ...

更多安裝方法及軟件地址可以參考 https://github.com/wszqkzqk/deepin-wine-ubuntu

如果你的系統(tǒng)語言非中文,通過 deepin-wine 啟動(dòng)的軟件中文會(huì)出現(xiàn)亂碼。你需要將 /opt/deepinwine/tools/run.sh 文件中 WINE_CMD 這一行修改為:

WINE_CMD="LC_ALL=zh_CN.UTF-8 deepin-wine"

6. 安裝 rmp 格式的軟件

很多軟件只提供了 rmp 格式的安裝包,并未提供 deb 格式的安裝包,比如:xmind。因此我們需要將其轉(zhuǎn)為 deb 安裝包在再進(jìn)行安裝。這里我們拿 xmind 來舉例,看看如何操作。

比如我們下載了 xmind 安裝包 XMind-2020.rpm:

# 添加 Universe 倉庫(如果未添加)
sudo add-apt-repository universe

# 更新
sudo apt update

# 安裝 Alien
sudo apt install alien

# 將.rpm 包轉(zhuǎn)換為.deb 包(當(dāng)前目錄下會(huì)生成一個(gè) deb 安裝包,比如:XMind-2020.deb)
sudo alien XMind-2020.rpm

# 安裝
sudo dpkg -i XMind-2020.deb

四. 桌面美化

1. 安裝 tweek

sudo apt install gnome-tweak-tool

2. 安裝插件擴(kuò)展支持

# 讓 gnome 支持插件擴(kuò)展
sudo apt install gnome-shell-extensions 

# chrome 瀏覽器擴(kuò)展支持,可以使用瀏覽器安裝插件
sudo apt install chrome-gnome-shell

3. 常用插件清單

插件名 說明
Dash to Dock 自定義 dock
Screenshot Tool 截圖插件
Clipboard Indicator 擴(kuò)展粘貼板,可以看到歷史粘貼內(nèi)容
Coverflow Alt-Tab 修改 Alt-Tab 應(yīng)用切換效果
Applications Menu 在頂部狀態(tài)欄添加應(yīng)用程序入口
OpenWeather 頂部狀態(tài)欄顯示天氣數(shù)據(jù)
Places Status Indicator 頂部狀態(tài)欄增加文件目錄訪問入口
Status Title Bar 在頂部狀態(tài)欄中顯示當(dāng)前窗口的標(biāo)題
GTK Title Bar 移除非 gtk 應(yīng)用程序的標(biāo)題欄
Hide Top Bar 自動(dòng)隱藏狀態(tài)欄
Transparent Top Bar 透明狀態(tài)欄
... ...

更多擴(kuò)展插件大家自行在https://extensions.gnome.org上探索吧。

4. 主題

可在 GNOME-LOOK 上下載各種桌面主題、Shell 主題、圖標(biāo)(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 選擇安裝的主題即可

5. 壁紙

推薦幾個(gè)下載 4K 8K 超高清壁紙的網(wǎng)站:

https://pixabay.com

https://unsplash.com

https://wallpapersite.com

https://wallpapershome.com

最后貼一張美化后的桌面(Applications Theme: SURU++; Icons Theme: Reversal)

我的桌面

五. 使用問題記錄

問題一:Windows、Ubuntu 雙系統(tǒng)時(shí)間不統(tǒng)一

如果你是雙系統(tǒng),安裝完 Ubuntu 設(shè)置好系統(tǒng)時(shí)間后,回到 Windows 會(huì)發(fā)現(xiàn)時(shí)間不統(tǒng)一。為了理解為什么,我們得先了解點(diǎn)基礎(chǔ)知識(shí):

  • UTC(Coordinated Universal Time),協(xié)調(diào)世界時(shí)(世界統(tǒng)一時(shí)間);

  • GMT(Greenwich Mean Time),格林威治標(biāo)準(zhǔn)時(shí)間。

Windows 與類 Unix 系統(tǒng)(Unix/Linux/Mac)看待系統(tǒng)硬件時(shí)間的方式是不一樣的:

  • Windows 把計(jì)算機(jī)硬件時(shí)間當(dāng)作本地時(shí)間(local time),所以在 Windows 系統(tǒng)中顯示的時(shí)間跟 BIOS 中顯示的時(shí)間是一樣的。

  • 類 Unix 系統(tǒng)把計(jì)算機(jī)硬件時(shí)間當(dāng)作 UTC, 所以系統(tǒng)啟動(dòng)后會(huì)在該時(shí)間的基礎(chǔ)上,加上電腦設(shè)置的時(shí)區(qū)數(shù)(比中國就加8),因此 Ubuntu 中顯示的時(shí)間總是比 Windows 中顯示的時(shí)間快 8 小時(shí)。

當(dāng)你在 Ubuntu 中把系統(tǒng)顯示的時(shí)間設(shè)置正確后,計(jì)算機(jī)硬件時(shí)間就變成了在這個(gè)時(shí)間上減去 8 小時(shí),所以當(dāng)你切換成 Windows 系統(tǒng)后慢了8小時(shí),就是這個(gè)原因。

解決方案:在 Ubuntu 中把計(jì)算機(jī)硬件的時(shí)間改成系統(tǒng)顯示時(shí)間,即禁用 Ubuntu 中的 UTC

timedatectl set-local-rtc 1 --adjust-system-clock

問題二:Ubuntu 循環(huán)登陸

這個(gè)問題是我在 Ubuntu19.10 版本遇到的,20.04 版本中我沒做驗(yàn)證,不確定是否有同樣的問題。

在解決問題之前,先補(bǔ)充一個(gè)關(guān)鍵知識(shí)點(diǎn):顯示管理器(Display Manager),它用來提供圖形化登陸,向用戶顯示圖形化登陸界面,并處理用戶身份驗(yàn)證。Linux 中常見的顯示管理器包括 gdm3、kdm、LightDM等:

  • gdm3: gdm3 是 gdm 的繼承者,它是 GNOME 的顯示管理器;
  • kdm: kdm 是 KDE 的顯示管理器;
  • LightDM: LightDM 是一個(gè)輕量級(jí)的顯示管理器,他是顯示管理器的規(guī)范解決方案。

原因:

實(shí)操驗(yàn)證,初步斷定是因?yàn)樵O(shè)置中開啟了自動(dòng)登陸,觸發(fā)了 dgm3 的某種 bug 導(dǎo)致的。(Ubuntu19.10 默認(rèn)使用的是 GNOME 桌面系統(tǒng), 而 gdm3 是 GNOME 的顯示管理器)

解決方案:使用 LightDM 替換 gdm3

第一步:安裝 LightDM(由于你現(xiàn)在無法進(jìn)入圖形化桌面,因此需要你在登陸頁面使用 ctl + alt + F2 快捷鍵進(jìn)入命令行模式,輸入賬號(hào)密碼登陸,然后使用下面的命令安裝)

sudo apt-get install lightdm

安裝完成后,系統(tǒng)會(huì)自動(dòng)彈框要求你選擇當(dāng)前系統(tǒng)中已安裝的顯示管理器,選擇 lightdm。

第二步:重啟

sudo reboot

重啟完就能正常登陸了。

這時(shí)候你會(huì)發(fā)現(xiàn)登陸界面變了,如果你想切回之前的登陸界面,在進(jìn)入系統(tǒng)后把自動(dòng)登陸關(guān)閉,然后實(shí)現(xiàn)下面的命令重新選擇 gdm3 顯示管理器即可(需重啟生效)

sudo dpkg-reconfigure gdm3

并不是把自動(dòng)登陸關(guān)閉后 gdm3 的 bug 就一定能規(guī)避掉,這一點(diǎn)可能只適用于我安裝的 Ubuntu19.10;我這里說的原因也不一定適用所有人。但有一點(diǎn)可以肯定的是,如果出現(xiàn)循環(huán)登陸的情況,更換顯示管理器通常是能解決問題的。

如果你想查看當(dāng)前系統(tǒng)正在運(yùn)行的顯示管理器,可以使用下面的命令:

cat /etc/X11/default-display-manager

問題三:NVIDIA 驅(qū)動(dòng)修復(fù)

Ubuntu 20.04 自帶了 nvidia 顯卡驅(qū)動(dòng),但是被我不小心玩壞了。主要表現(xiàn)在:

  1. 前面提到的 xrandr 命令失效,無法實(shí)現(xiàn)小數(shù)倍縮放;
  2. NVIDIA X Server Settings 客戶端打開空白;
  3. 命令行執(zhí)行 nvidia-settings 命令出錯(cuò);
  4. Settings>Displays(設(shè)置>顯示)中無法設(shè)置多種分辨率等等。

如果你也和我遇到同樣的問題,或者希望手動(dòng)安裝顯卡驅(qū)動(dòng),可以按照下面的方式操作。(需要首先到 NVIDIA 官網(wǎng)下載你設(shè)備對(duì)應(yīng)的顯卡驅(qū)動(dòng))

# 先安裝一些依賴庫
sudo apt install build-essential libglvnd-dev pkg-config

# 停止桌面管理器,進(jìn)入命令行摸索
sudo telinit 3

# 刪除已安裝的 nvidia 驅(qū)動(dòng)
sudo apt purge "nvidia*"

# 手動(dòng)安裝顯卡驅(qū)動(dòng)
sudo bash NVIDIA-Linux-x86_64-440.82.run 

# 重啟
sudo reboot

更多顯卡驅(qū)動(dòng)方式可參考:https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-20-04-focal-fossa-linux


參考文檔:

本文檔會(huì)持續(xù)更新,關(guān)注公眾號(hào) BaronTalk,回復(fù) Ubuntu 即可下載最新的 PDF 版本配置文檔。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容