Ubuntu 20.04 LTS設定與配置

Lau Dai He
16 min readNov 22, 2018

--

Author : LauDai

Date : 2018/11/15

Date:2020/04/19 二更內容

Date:2020/12/18 三更標題

二更:移除語言配置冗文、ssh篇章語順及內容編排、移除安裝python炸鍋問題與紀錄,改為目前簡單方法

三更:修改標題 重新配置 Ubuntu 18.04 LTS -> Ubuntu 20.04 LTS設定與配置,更名配置內容,同樣都為Ubuntu分支

記錄之目的

此篇之目的為紀錄自己的設定過程,多試試多玩玩

將來的目標為gnome環境設定與i3的使用 , 新增學習目標 wayland 、swaywm

小發現(?

當你使用sudo 與 root是相同時會得到檔案

軟體安裝

Ubuntu 18 開始 大家都推薦使用apt 做套件管理

先安裝個人愛用的軟體

sudo apt updatesudo apt install vim tmux zsh git curl wget2 htop openssh-server gparted tree ipython3 mc xclip ffmpeg  binutils hime  hime-chewing hime-qt5-immodule httpie jq mosh sshuttle figlet toilet toilet-fonts vim-gtk3 fonts-powerline fonts-firacode fonts-cascadia-code telegram-desktop dconf-editor gnome-shell-extensions gcp simplescreenrecorder gnome-sushi chromium-browser

For 網管與測試

sudo apt install net-tools iftop iptraf iotop nmap sqlmap hping3 python3-scapy speedtest-cli iperf3 whois glances sockstat stress stress-ng snmp mesa-utils mtr traceroute sysstat

For 網管與測試(透過外部安裝)

tcpping v2.x :
sudo wget -O /usr/bin/tcpping https://raw.githubusercontent.com/deajan/tcpping/master/tcpping ; chmod 755 /usr/bin/tcpping

For Tmux

sudo apt install xsel urlview

For 展示

sudo apt install screenkey sm screenfetch neofetch

For 寫作用軟體

screenrec screenkey

For Funny

sudo apt install sl fortunes lolcat cowsay cmatrix xpenguins
asciiquarium(Arch Linux, Fedora, OS X) hollywood

For GNOME Shell extensions

system monitor (source)

sudo apt install gir1.2-gtop-2.0 gir1.2-nm-1.0 gir1.2-clutter-1.0 gnome-system-monitor

Bluetooth battery indicator(source)

sudo apt install bluez libbluetooth-dev python3-dev python3-bluez

不錯的Gnome shell extensions

auto move windows
custom hot corner
dash to panel
icon hider
screenshot window sizer
workspace indicator
system mointor
Bluetooth battery indicator
#下面的extensions可以被上面的部份替代
dash to dock
remove app menu
frippery move clock

可以考慮安裝的軟體

psensor hwinfo florence guake festival trash-cli conky
pip3 install tldr

安裝工具與設定作業

安裝框架軟體

git clone https://github.com/laudai/dotfile.git ~/.dotfile
source ~/.dotfile/install-utilities.sh
source ~/.dotfile/install-ZSH-Plugins.sh

登出或者重新開機後 zsh shell為預設的shell

設定config檔

下載自己的設定檔,並建立軟連結設定檔

zsh ~/.dotfile/setup-symlinks.sh

使用Oh-My-ZSH方式,安裝ZSH plugin。插件安裝寫在 dotfile 內。

觀望中,尚未安裝的插件

you-should-usecommand-not-foundhububuntu

zsh prompt (採用oh-my-zsh框架下的主題)

cloud
Spaceship ZSH

字型

https://www.nerdfonts.com/font-downloads
目前Terminal採用 FiraCode Nerd Font Regular, 12
Caskaydia Cove Nerd Font Book,12
(• Reserved Font Name: CascadiaCode)

Ubuntu預設內建字型可參考連結

Terminal default : Ubuntu Mono Regular, 13

Tmux 相關設定搜尋

tmux show-options -g #globaltmux show-options -w #windowtmux show-options -s #server

(Tmux相關教學可看這篇

startup with guake

sudo cp /usr/share/applications/guake.desktop /etc/xdg/autostart/

額外安裝 Node.js

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

額外安裝pyenv

先安裝相依套件,資料來源 資料來源2

sudo apt-get update; sudo apt-get install -y --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

從source code安裝pyenv、pyenv-virtualenv

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
# $(pyenv root)要先設定下方的才有效

下面的我在dotfile有新增,就可以不用加入了,主要是給第一次安裝的讀者知道

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc

重新啟動Shell exec $SHELL

額外可安裝的軟體

Etcher:跨平台燒錄軟體 AppImage_LinkFlameshot: 十分強大的螢幕擷取編輯軟體 AppImage_LinkBitwarden: Password Manager AppImage_LinkRambox: 跨平台多種訊息管理工具 AppImage_LinkTypora: 跨平台的Markdown語法編輯器Pinta: 簡單的編輯圖片軟體Telegram: 跨平台的通訊軟體,不建議透過Ubuntu Software安裝。在hime輸入法引擎情況下無法打字Gimp: 功能較強大的繪圖軟體Blanket:背景聲音播放軟體

作業系統外觀主題、設定、輸入法、快捷鍵等

Desktop Theme

參考上一篇文章

外觀設置 Numix or Numix-blue , 圖示設置 Numix-Circle-Light

sudo apt install numix-blue-gtk-theme

Terminal中取消使用 "使用系統佈置主題指定的色彩"

螢幕顯示

1368*768(16:9)

語言配置

18.04設定值-> 地區和語言 -> 選擇漢語(台灣)或英語美國即可作到方便的切換語系

18.04即使改回漢語,/etc/default/locale還是不會改變

資料夾改成英文最簡單方式:

先將語言從中文改成英文,登出登入後會問你是否將資料夾名稱改成英文,選是;之後將語言改回中文,這時問你是否將資料夾名稱改回中文,選否保留現在名稱,並且選擇不再詢問

目前可以成功使用英文資料夾名稱

----------------------------------------------

過去修改方法

方法1:

透過修改 .config/user-dirs.dirs

使用xdg-user-dirs-update xdg-user-dirs-gtk-update進行更新

2020/04/17更新名字時,確定是使用xdg-user-dirs-gtk-update

方法2:

vim /etc/default/locale

LANG="zh_TW.UTF-8"#LANG="en_US.UTF-8"#LANG="en_US.UTF-8"LANGUAGE="zh_TW:zh"#LANGUAGE="en_US.UTF-8"LC_TIME="en_US.UTF-8"

舊式參考資料 : http://wiki.ubuntu.org.cn/%E4%BF%AE%E6%94%B9locale

設定中文輸入法

如果你系統預設就是中文語言,那麼你應該會再更新過後得到完整的語言支援,輸入法預設會是ibus。透過拖拉的方式,最上方的及為預設輸入來源。

如果有其他需求可以使用其他的輸入法如下:

sudo apt install fcitx fcitx-chewing
sudo apt install hime

安裝中文語言

如果你是安裝英文版系統,可以安裝中文安裝包

sudo apt install language-pack-zh-hant*
# 繁體中文
sudo apt install language-packg-gonme-zh-hant*
# gnome 界面 繁體中文
sudo apt install language-packg-kde-zh-hant*
# kde 界面 繁體中文
sudo apt install $(check-language-support)
# 檢查語言

出處 尚未測試

安裝中文過後,我們的zsh 主題的雲圖案才會正常

Firefox

取消勾選 Ctrl+Tab 交換最近使用過的分頁

直接使用上下個分頁切換by Ctrl+Tab / Ctrl+Shifit+Tab

快捷鍵設定 (shortcuts setting)

常用快鍵

鍵盤快捷鍵額外設定

新增鍵盤快鍵

此圖為示範圖

設定Dock

設定值→螢幕上的位置→下

自動隱藏

設定視窗在最上方可以參考此篇文章: How To Use A Keyboard Shortcut To Toggle Always On Top On GNOME, KDE, MATE, Xfce and Cinnamon Desktops

Ubuntu常用軟體設定

設定 ssh config / sshd_config

在此步驟 要將平常實驗用的pi 直接加入ssh config 就可以直接ssh name ,並關閉SSH Password

步驟1.關閉Password登入

sudo vim /etc/ssh/sshd_config

PasswordAuthentication yes -> no

重新啟動ssh service

# In ssh version OpenSSH_7.4p1 Raspbian-10+deb9u4, OpenSSL 1.0.2l 25 May 2017✗ sudo service ssh restart
✔ sudo systemctl restart sshd.service (in Systemd)

重新啟動後即關閉password進入

步驟2.建立 .ssh/config 可直接ssh {主機名稱}進行連線

需要先確認是否有key(./ssh/id_rsa.pub),若無則建立一對key至本地端

ssh-keygen

再將公鑰丟過去,傳輸方法有兩種:

方法一:

ssh-copy-id {user name}@{host ip}

方法二:

ssh {user name}@{host ip} "mkdir -p .ssh && cat >> .ssh/authorized_keys" < ~/.ssh/id_rsa.pub

透過以上兩種方法即可將key 傳送至host 上

編輯ssh config

vim .sshconfig

編輯內容

Host <remote host>
HostName <host addres>
User <user name>
Port <ssh port>

透過上述步驟即可達成

ssh <remote host>

同場加映

pharsh

在生key時,如果有設定pharsh,那麼當該服務第一次使用此金鑰時,會要求你將此密碼送出才能使用此金鑰

ssh 特殊用法

ssh {remote host} <指令>

ssh {remote host} whoami #在遠端方跑whoami 並將結果傳回此terminal

ssh {remote host} ls -l > ls.txt #將遠端方的ls -l結果寫入本地端的ls.txt檔案

// ssh X window 有待測試

參考資料:https://blog.csdn.net/pipisorry/article/details/52269785

NTP

想要讓我所有的電腦都走相同的時間校準伺服器

sudo apt install ntp

sudo vim /etc/ntp.conf

註解原本的server,使用台灣常用的時間伺服器

server tock.stdtime.gov.tw
server watch.stdtime.gov.tw
server time.stdtime.gov.tw
server clock.stdtime.gov.tw
server tick.stdtime.gov.tw

啟動ntp : sudo systemctl start ntpd

查看ntp狀態 : systemctl status ntpd

可以使用ntpq -p察看校時情況

※補充說明

-p, — peers
Print a list of the peers. This option must not appear in combination with any
of the following options: interactive.
Print a list of the peers known to the server as well as a summary of their
state. This is equivalent to the ‘peers’ interactive command.

參考資料:https://blog.gtwang.org/linux/linux-ntp-installation-and-configuration-tutorial/

修改grub

因為會同時安裝兩個以上的linux,所以要修改順手的grub

sudo vim /etc/default/grub

之後新增自己的設定

GRUB_DEFAULT=0 //設定grub預設在哪個選單開啟
GRUB_TIMEOUT=10 //預設等待時間

最後更新grub

sudo update-grub

快速安裝Python pip

安裝pip2

sudo apt install python-pip

安裝pip3

sudo apt install python3-pip

結論

這次重灌跟以往差了許多,主題安裝方式改變,Ubuntu Python內建與pip Debian 的整合炸鍋,輸入法等設定將在將來有空的時候持續更新

— — — — — — — — — — — — — — — — — — — —

Date : 2020/04/19

二更,修正許多以前再撰寫文章的時候沒有注意的排版,同時將早期文章的風格與後面統一,目前大致上使用都沒有問題,現在正在著手測試hime輸入法可以正常的透過wine輸入line訊息、firefox每次都需要先貼上文字才能打字的bug,以及ctrl + alt + 1 ~5快捷鍵重複問題

--

--

Lau Dai He
Lau Dai He

Written by Lau Dai He

Less is more. 2021/08/01起,主要會紀錄各種技術的精華重點文章,方向可能是Pyhton, Linux, WIndows等都有可能。文章內容精簡為主,搭配少部份的個人情感抒發等。(inspired by 路人甲的世界​-知乎作者)

No responses yet