Linux 之四 Ubuntu 20.04 WiFi 无法使用、设置无法显示、远程桌面、SSH、Git、PPA、FFmpeg 等各问题记录
安裝
??今天,在我的老 Acer 筆記本(11 年的老本)上安裝了 Ubuntu 20.04 LTS 版本,以作為學習使用。安裝到沒啥難度,基本和 Windows 差不多 ,基本都是下一步就行。注意,如果要自定義安裝磁盤,需要在如下圖這一步時注意選擇 Something else,默認將擦除整個磁盤:
尤其是要安裝 Windows + Ubuntu 雙系統時,需要額外注意!選擇 Something else 才會顯示磁盤的選擇界面。
??詳細的安裝步驟這里就不多說,網上有很詳細的教程,Ubuntu 官方也有教程:制作 U 盤啟動盤、安裝過程說明 等。更詳細的參見 https://ubuntu.com/tutorials 中的各種教程。需要注意的是:
設置界面不顯示
??安裝完成重啟,成功進入了 Ubuntu 桌面,第一步當然就是要聯網。然而,上來就發現設置界面顯示不出來也就不能顯示配置WiFi 的界面,但是看桌面上有個數字提示,設置是啟動成功的!如下圖:
??細心就會發現,鼠標是能往右會移出屏幕的。如果在桌面上端把鼠標往右側屏幕一直移動,然后安按住鼠標左鍵,就能把設置界面拖出來。然后,我們接著到設置中的顯示菜單下看看,是不是顯示有問題:
默認情況下,Ubuntu 識別為了 Join Displays,這里我們直接改成 Single Displays 就可以了!
WiFi 不能識別
??成功顯示出了設置界面之后,卻發現 WiFi 菜單下沒有內容,有線連接是沒有問題的。這年頭筆記本使用網線還能叫筆記本么!?初步懷疑,這里不顯示基本就是驅動的問題了。結果搜索發現了如下方式安裝 WiFi 驅動:
??對于大部分人來說,成功執行上面的命令之后,WiFi 應該就可以正常顯示了。然而,我在重啟之后問題依舊。。。于是乎使用 lspci 查看網卡信息,發現能正常識別 WiFi 適配器:
這就比較奇怪了!于是乎直接去網上找 Qualcomm 網卡在 Ubuntu 下的相關驅動、問題,無意間發現有網友說,該問題是 Acer 筆記本的問題,需要禁用掉 acer-wmi 模塊,具體如下:
??經過以上步驟,我的 Acer 終于可以正常顯示 WiFi 了。其中,需要注意的是,默認情況下,Ubuntu 沒有安裝 vim,這里可以使用 vi 代替:sudo vi /etc/modprobe.d/blacklist.conf 。
??除了以上所說的方法之外,也有網友說,直接在 Ubuntu 自帶的 軟件更新 中有時候會顯示 WiFi 驅動的更新我這里是沒有的,如下圖所示,我這里只顯示了獨顯的驅動。
即使更改 Ubuntu Software 頁面中的相關配置之后依舊沒有顯示 WiFi 適配器的相關驅動!
??然而在使用了一段時間之后,關機幾天開機之后,WiFi 又又不顯示了。。。于是經過又一番摸索之后,經過如下步驟后就可以正常顯示了:
//停止 NetworkManager sudo service network-manager stop //刪除 NetworkManager緩存文件 sudo rm /var/lib/NetworkManager/NetworkManager.state //再次啟動NetworkManager sudo service network-manager start //將 /etc/NetworkManager/NetworkManager.conf 文件中的 managed=false 改為 managed=true sudo gedit /etc/NetworkManager/NetworkManager.conf // 最后重新啟動 NetworkManager sudo service network-manager restart // 最后發大招直接重啟計算機 reboot如下是 sudo gedit /etc/NetworkManager/NetworkManager.conf 的修改(只需要更改一次即可):
經過我多次測試發現,之所以失敗是由于 /var/lib/NetworkManager/NetworkManager.state 錯誤,只要清理該文件,然后重啟系統就可以了!
附幾個網絡常用的命令:
連接企業 WiFi
??解決了 WiFi 不識別的問題之后,就開始愉快的玩耍了。而然,將筆記本拿到工作環境后,突然發現不能連接公司的 WiFi,但是連接個人路由的 WiFi 是沒有問題的。。。
??公司的 WiFi 是 WPA2 Enterprise 類型,連接這一類 WiFi 有很多參數,并不是簡單的用戶名 + 密碼就可以(主要就是加密)。經過我不斷測試,當使用如下配置時就可以連接成功:
??有網友說,Ubuntu 連接 WPA2 Enterprise 類型的 WiFi 有 BUG,會提示密碼錯誤。提示錯誤之后,在 /etc/NetworkManager/system-connections/ 下有連接過的 wifi 的配置文件,找到你剛才連接的那個,
在 [802-1x] 中,的 password 那一行上面添加 password-flags=1 和 system-ca-cert=false,保存退出,重新點擊連接 WIFI 就可以了。我這里沒有遇到這種情況,具體參看網友博文:https://www.jianshu.com/p/c0f4811f3c13。
??還有一點,我這里的 WiFi 其實沒有認證證書,如果你的 WiFi 是需要認證的,上面就不能選擇 No CA certificate is required,而應該在 CA Certificate 這一欄選擇自己的證書。具體參看一下網友的回復:https://forum.ubuntu.org.cn/viewtopic.php?p=2119017&sid=91530bd33c99ac8b9b65d0061a3cf1e0#p2119017。
??經過我的反復測試,Ubuntu 的 WiFi 連接界面反應非常慢,動不動就把 設置界面卡死,而且在連接中時,會導致鼠標卡頓。目前,沒有進一步了解原因,也不知道如何解決。。
遠程桌面
??能夠成功連接 WiFi 之后,正常工作中遠程桌面是必不可少的功能,于是開始準備用 Windows 遠程連接 Ubuntu。Windows下默認的遠程桌面協議是 rdp,默認端口 3389,而 Ubuntu 20.04 自帶了 Vino-Server 用于遠程連接。
Vino-Server
??如果沒有 Vino(安裝時如果選擇了最小安裝則默認不會安裝 Vino),則可以通過命令 sudo apt install vino 進行安裝。Ubuntu 20.04 配置 Vino-Server 還是挺簡單的,配置之后,就可以使用 VNC Viewer 進行連接。
需要注意的就是,其中需要安裝一個叫 dconf-editor 的軟件,用于關閉連接加密。這里也不多說,自己去找各種網文就可以,還是非常詳細的。例如:https://zhuanlan.zhihu.com/p/295422718。
??但是,經過我實際測試,Ubuntu 20.04 自帶了 Vino 不是一點半點的卡,基本沒法用。。。不知道是不是我環境的問題還是電腦配置太低,搗鼓了半天也沒找到解決方法。。。
Xrdp
??Xrdp 是一個微軟遠程桌面協議(RDP)的開源實現,它允許你通過圖形界面控制遠程系統。通過 RDP,你可以登錄遠程機器,并且創建一個真實的桌面會話。
一旦安裝完成,Xrdp 服務將會自動啟動。你可以輸入下面的命令,驗證它:sudo systemctl status xrdp
安裝完成之后,直接使用 Windows 的遠程桌面進行連接,則會收到下面的錯誤:
其實,這里的顯示時已經連接成功(重啟 xrdp 服務時,這里就會自動斷開連接),只是由于用戶權限的問題不能顯示界面。
沒錯,連接之后竟然是黑屏。。
然而,配置登陸成功之后,依舊是巨卡。。。比自帶的 Vino 還卡。。。
VNC Server
??VNC(Virtual Network Console)是虛擬網絡控制臺的縮寫,由著名的 AT&T 的歐洲研究實驗室開發的。VNC 是在基于 UNIX 和 Linux 操作系統的免費的開源軟件。
??在 Linux 中,VNC 包括以下四個命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多數情況下用戶只需要其中的兩個命令:vncserver 和 vncviewer。
這個我還沒有嘗試,后面嘗試之后再完善。。
SSH
??遠程桌面功能可以說是慘不忍睹,無奈還是得用 SSH 遠程登錄。SSH 為 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定。SSH 為建立在應用層基礎上的安全協議。直接在終端中輸入 ssh 發現,Ubuntu 自帶了 ssh 客戶端,版本號是 OpenSSH_8.2p1。
然而 Ubuntu 默認并沒有安裝 ssh server,因此需要自己安裝:sudo apt-get install openssh-server,安裝之后,查看一下:
第一個查看安裝了 ssh 相關的包,第二個查看 ssh 服務器有沒有運行!
??從上面的圖中可以看到,Ubuntu 中的 OpenSSH 使用是 OpenSSL 1.1.1f 提供的加密算法庫。默默無名的 OpenSSL 開源加密庫之前因為 Heartbleed 漏洞幾乎變得無人不知,漏洞的影響遍及整個互聯網。
??OpenBSD 的開發者為此而創建了 OpenSSL的 分支 LibreSSL,用戶編譯時可選擇鏈接到 LibreSSL 庫。 微軟在 Win10 中集成的 OpenSSH 使用的就是 LibreSSL 加密算法庫。
許多大型公司出于安全,效率等考慮,會將 OpenSSH 集成到自己系統之后,用自己實現的算法替換這個算法庫。
TLS: Transport Layer Security
SSL: Secure Sockets Layer
??Heartbleed 漏洞的披露讓人們意識到 OpenSSL 就是這樣一個組件。這促使 Linux 基金會發起了 Core Infrastructure Initiative 倡議,資助關鍵基礎組件的開發和維護。就目前來看,OpenSSL 的維護要比 LibreSSL 要積極一些。而且 Linux 對于 LibreSSL 的支持明顯不如 OpenSSL。具體見 Github:
- OpenSSL: https://www.openssl.org/;官方 Github 庫: https://github.com/openssl/openssl
- LibreSSL: http://www.libressl.org/;官方 Github 庫: https://github.com/libressl-portable/
Git
??Git 的安裝很簡單,直接在終端中鍵入命令:sudo apt install git 即可安裝,但是安裝之后的版本并不是最新的,我這里的版本號是:git version 2.5.1。我的選擇是將 Git 升級到最新版,使用命令如下:
$ sudo add-apt-repository ppa:git-core/ppa $ sudo apt-get update $ sudo apt-get install git
在上面的命令中,有個叫 ppa 的東西,下面用單獨的章節詳細介紹一下。
PPA
??PPA 全稱為 Personal Package Archives(個人軟件包檔案),是 Ubuntu Launchpad 網站提供的一項服務,當然不僅限于 Launchpad 。它允許個人用戶上傳軟件源代碼,通過 Launchpad 進行編譯并發布為二進制軟件包,作為 apt 新的源供其他用戶下載和更新。在 Launchpad 網站上的每一個用戶和團隊都可以擁有一個或多個PPA。
??通常 PPA 源里的軟件是官方源里沒有的,或者是最新版本的軟件。相對于通過 Deb 包安裝來說,使用 PPA 的好處是,一旦軟件有更新,通過 sudo apt-get upgrade 這樣命令就可以直接升級到新版本。
??通過命令 sudo add-apt-repository ppa:git-core/ppa,最終在會在 /etc/apt/sources.list.d 下多出一個文件,這個文件就是我們添加的新的源:
除了通過命令的方式,我們還可以使用 Ubuntu 自帶的 Software & Updates 來通過 GUI 的方式編輯:
參考: https://linuxize.com/post/how-to-add-apt-repository-in-ubuntu/
Microsoft Edge 更新報錯
安裝了 Microsoft Edge,在 Ubuntu 自帶的 軟件中心更新時提示如下錯誤:
解決方法是編輯如下圖所示的文件,將內容注釋掉即可。
除了通過命令的方式,我們還可以使用 Ubuntu 自帶的 Software & Updates 來通過 GUI 的方式編輯:
Failed to fetch:FFmpeg
今天想把 Ubuntu 20.04 LTS 更新到 Ubuntu 22.04 LTS Beta 版本玩一玩,然而在升級的時候提示如下錯誤:
網上也并沒有找到相關的解決方法。無奈想是不是可以重新安裝一下 FFmpeg 能不能解決這個問題?于是乎直接安裝 FFmpeg,然而直接就無法安裝:
這就比較尷尬了,又想了想是不是更新源除了問題。于是乎在 Ubuntu 更新管理程序中將下載源換為了 mirror://mirrors.ubuntu.com/mirrors.txt:
然后執行 sudo apt autoremove 結果發現可以移除一堆無用的包,其中就包含上面報錯的包:
這樣似乎就有希望了,繼續更新系統,結果如下:
這個提示很明白就是更新源有問題,重新把上面的更新源切換為 Main Server 繼續嘗試問題得以解決!
其他
后續問題再繼續更新。。。
參考
總結
以上是生活随笔為你收集整理的Linux 之四 Ubuntu 20.04 WiFi 无法使用、设置无法显示、远程桌面、SSH、Git、PPA、FFmpeg 等各问题记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32 之十六 深入了解 ADC 工
- 下一篇: Linux 之五 最新 2021 一图看