# Ubuntu 22.04 建議安裝軟體清單
由於最近太常設定電腦的 Ubuntu 環境,所以我整理了一份自己實際使用的軟體清單。這份清單不是隨便蒐集的軟體名單,而是我在日常使用、開發與研究都會 **真正用到** 的工具,幫助我提升效率與穩定性。
每一個條目我都會用以下的結構介紹:
- 為何要用?(優點與實際情境)
- 必須性(在我的工作流程中是否不可或缺)
- 檢查方式(簡單指令確認是否安裝)
此外,像 **zsh、git、Python 開發環境** 這類核心工具,我會再額外寫專文做詳細教學,這裡會放上連結,讓需要的人可以延伸閱讀。
## 1 首先你可進行一次軟體盤點
這樣才知道哪些是你已經在用的,哪些是缺的但建議安裝的。**若你是完全新建的系統,可以略過這部分。**
在 Ubuntu 22.04 上,常用的方式有兩種:
### 1.1 查看透過 apt 安裝過的軟體
```
dpkg --get-selections | grep -v deinstall
```
這會列出所有安裝過的套件,數量可能會很多(系統套件也算)。
如果你只想要看自己裝的軟體,可以用:
```
apt-mark showmanual
```
> 這會顯示「你手動安裝」的套件(比較接近你真正挑選的東西)。
### 1.2 查看 Snap 安裝的軟體
```
snap list
```
### 1.3 查看 Flatpak 安裝的軟體
```
flatpak list
```
## 2 系統工具
### 2.1 zsh & fzf
在 Ubuntu 中我選擇用 **zsh** 取代預設的 bash,因為它在補全、歷史搜尋、語法高亮上都有明顯優勢,搭配 **fzf** 還能進一步做到模糊搜尋與快速檔案定位。這組合能讓你的日常操作更直覺,對長期要開發 ROS、AI 工具的人來說,能省下大量鍵盤輸入的時間。
→ 詳細的安裝與設定細節,我已經整理在 [在 Ubuntu 中,我選擇用 zsh 而不是原生 bash](https://hackmd.io/@10XdHCMRSDKnrGY5zVWFKA/S1by50Ytlx)。
**檢查是否已安裝:**
```bash
echo $SHELL # 應該顯示 /usr/bin/zsh
fzf --version # 若有安裝 fzf,會印出版本號
```
---
### 2.2 terminator
如果你在開發 ROS 或 AI 系統時,經常需要同時開多個節點或執行不同的程式,**Terminator** 會比預設的 GNOME Terminal 更好用。它支援分割視窗、快速新開分頁,能在同一個視窗裡管理多個 shell,非常適合需要「多窗口併行」的場景。
**檢查是否已安裝:**
```bash
which terminator
```
#### 一些常用的快捷建
**視窗與分割**
Ctrl + Shift + E :垂直分割(左右分窗)
Ctrl + Shift + O :水平分割(上下分窗)
Ctrl + Shift + W :關閉目前窗格
Ctrl + Shift + Q :退出 Terminator
**視窗切換與調整**
Ctrl + Tab 或 Ctrl + PageDown :切換到下一個窗格
Ctrl + Shift + Tab 或 Ctrl + PageUp :切換到上一個窗格
Alt + 方向鍵 :快速移動到相鄰的窗格
Ctrl + Shift + R :重新調整所有窗格大小
Ctrl + Shift + N :建立新視窗(而不是新窗格)
**複製與貼上**
Ctrl + Shift + C :複製選取文字
Ctrl + Shift + V :貼上文字
**其他常用**
Ctrl + Shift + T :在目前窗格開新分頁(Tab)
Ctrl + Shift + X :最大化目前窗格,再按一次恢復
Ctrl + Shift + Z :全螢幕模式切換
Ctrl + Shift + G :群組多個終端機,群組內輸入會同步到所有窗格
---
### 2.3 flameshot
內建的 screenshot 功能雖然簡單,但在做筆記或撰寫教學時,往往需要即時標註、箭頭、框線。這時候 **Flameshot** 就是最直覺的工具,可以快速選取螢幕範圍並直接編輯。
重點是 Flameshot 可以支援你自定義快捷鍵,讓用習慣 windows 預設截圖方法的人,也可以在 Ubuntu 上復刻同樣操作。
**檢查是否已安裝:**
```bash
which flameshot
```
---
### 2.4 vlc
影音檔案格式五花八門,Ubuntu 原生播放器有時會遇到無法解碼的情況。
**VLC** 幾乎支援所有影音格式,是一個「裝了就不用再煩惱格式」的播放器,對於需要播放教學影片或模擬輸出影片來說特別好用。
**檢查是否已安裝:**
```bash
which vlc
```
## 3 開發 / 研究環境
### 3.1 git
在多人協作或自己管理專案版本時,**Git** 是不可或缺的工具。
無論是下載 ROS 範例套件,還是管理自己的學習筆記與程式碼,版本控制都能讓工作流程更清晰,避免誤刪或檔案混亂。
**檢查是否已安裝:**
```bash
git --version
```
---
### 3.2 build-essential
ROS 的世界大量依賴 C++,而 **build-essential** 這個套件組合提供了 gcc、g++、make 等必要工具。如果沒有這些,你甚至無法順利編譯 catkin\_ws 或 colcon\_ws。可以說這是一切 C/C++ 與 ROS 開發的基石。
**檢查是否已安裝:**
```bash
gcc --version
g++ --version
make --version
```
---
### 3.3 python3 + pip + venv
ROS2、AI 框架(PyTorch、TensorFlow)、各種工具鏈,絕大多數都離不開 Python。Ubuntu 已內建 Python3,但透過 **pip** 你才能安裝額外套件,搭配 **venv** 又能隔離不同專案的環境,避免套件版本打架。這三者組合起來,就是 Ubuntu 上最標準的 Python 開發環境。
**檢查是否已安裝:**
```bash
python3 --version
pip3 --version
python3 -m venv --help
```
## 4 日常應用
### 4.1 google-chrome-stable
對我來說,**Chrome** 是主要的瀏覽器,它支援完整的 Google 生態系與大量擴充套件,無論是學術搜尋、筆記工具、還是線上協作都相當方便。
雖然在 Ubuntu 上雖然預設有 Firefox,但安裝 Chrome 可以確保和其他平台(Windows、手機)一致,讓瀏覽體驗更流暢。
**檢查是否已安裝:**
```bash
google-chrome --version
```
---
### 4.2 vivaldi-stable
有時候我會希望把工作與生活的瀏覽環境分開,這時 **Vivaldi** 就很適合。它的特色是高度客製化,可以自由調整分頁排列方式、快捷鍵,甚至內建筆記與側邊欄。對於需要多開研究資料和日常網站的人來說,能有效提升效率。
並且提供許多滑鼠的手勢操作,甚至支援跨裝置的分頁同步。
**檢查是否已安裝:**
```bash
vivaldi-stable --version
```
---
### 4.3 telegram-desktop
在跨平台通訊與檔案傳輸上,**Telegram** 是一個輕便又穩定的選擇。它支援多裝置同步,常常用來快速把電腦上的檔案丟到手機,或者和社群分享資訊。對我來說,它的優勢是「比 Email 快,比其他通訊軟體更容易跨平台」。
**檢查是否已安裝:**
```bash
telegram-desktop --version
```
---
希望我的內容對你有所幫助,想看到更多內容歡迎追蹤我的 IG、Threads 等平台。
Threads:[@minimalist_shine](https://www.threads.com/@minimalist_shine)
IG:[@minimalist_shine](https://www.instagram.com/minimalist_shine/)
另外若你對 Isaac Sim 感興趣,請參考 [快速學會在 Ubuntu 22.04 安裝 Isaac-Sim](https://hackmd.io/@10XdHCMRSDKnrGY5zVWFKA/BJMxdAFYll)。