程式設計師的 Ubuntu 19.10 配置與優化指南

2021-02-15 風靈IT

轉載請註明原文地址:程式設計師的 Ubuntu 19.10 配置與優化指南

0x00 環境

CPU: Intel Core i9-9900k

GPU: GeForce RTX 2070 SUPER

RAM: DDR4 16GBx2

OS 1: Ubuntu 19.10 eoan

OS 2: Windows 10 1909

Disk 1: Samsung SSD 970 EVO Plus 500GB - GUID Partition Table(/dev/nvme0n1)

Disk 2: ST4000VX007-2DT166 - GUID Partition Table(/dev/sda)

Disk 3: Samsung SSD 850 EVO M.2 250GB - GUID Partition Table(/dev/sdb)

Ubuntu Partition 1: 1G - Ext4 - /boot/ - 邏輯分區(/dev/sdb1)

Ubuntu Partition 2: 2G - Swap - swap - 邏輯分區(/dev/sdb2)

Ubuntu Partition 3: 40G - Ext4 - /home/ - 邏輯分區(/dev/sdb3)

Ubuntu Partition 4: 206G - Ext4 - / - 主分區(/dev/sdb4)

0x01 前言閱讀順序

強烈建議先仔細閱讀一遍本文,了解注意事項及大概流程後,再應用到實際部署中

開發環境

本文中配置的開發環境主要面向 web 開發及運維,主要包括 NodeJs, Go, Nginx, PHP, MySQL, Python

由於 C 的開發環境筆者主要依靠 VSCode + gcc + gbd,每個人有不同的配置習慣且不同需求的環境相差較大,這裡不做詳細描述

本機配置

本文所有操作基於 Win10 + Ubuntu 雙系統,先安裝 Win10,再安裝 Ubuntu。安裝 Ubuntu 時使用單塊硬碟(Disk 3)配置分區,將 Ubuntu 引導系統放在 Windows Boot Manager(/dev/nvme0n1p2),也就是 Windows 的 EFI 分區中,安裝完成後該分區將作為引導分區被掛載到 /boot/efi/ 目錄

如果不使用雙系統

單獨安裝 Ubuntu 或在虛擬機中安裝,並不影響本文中大部分操作,唯一需要注意的是不需要在 Grub 中調整引導順序

為什麼使用 Ubuntu 19.10

在所有 Linux 發行/衍生版本中,Ubuntu 是唯一適合日常開發使用,環境較為成熟,社區論壇較多,軟體支持全面並且符合用戶操作習慣的版本

在筆者嘗試安裝 Ubuntu 19.04 的過程中,發現部分硬體打不上驅動,導致了安裝後有很多關於底層驅動的操作不適合普通用戶,並且 19.10 與 19.04 差距並不大,很多適用於 19.04(disco) 的軟體源同樣也適用於 19.10(eoan),所以最後選擇了 Ubuntu 19.10

有哪些用戶

文中主要涉及三個用戶

系統用戶,筆者使用的用戶名是 simonriley ,文中為便於辨認使用 user 代替大部分 web 服務使用的用戶,由 Nginx 或 PHP-FPM 自動創建,只有 web 服務需要使用該用戶用戶與系統環境變量配置

按照筆者的習慣,為保證 root 與 user 使用相同的環境,/root/ 目錄下 .bashrc,.dircolors 和 .condarc 三個配置文件均使用 /home/user/ 目錄下同名文件的軟連接

實際部署中發現 root 用戶可能不會從 /etc/profile 讀取環境變量配置,所以在 .bashrc 中添加如下配置

source /etc/profile

注意:在 .bashrc 配置中,為保證後續添加的配置不會被覆蓋,默認將新增的配置寫在該行下面

文件權限配置

使用軟體包管理器安裝的包,管理器會自動配置權限,但有些包是我們手動下載並配置的,例如 /usr/local/node/ 目錄,對於這類包,建議在配置完成後使用下面的命令手動將其權限修改為 user

sudo chown user:user -R /usr/local/node/

在終端中使用的用戶

終端默認使用的用戶是 user ,但實際操作中會遇到很多需要使用 root 權限的命令,在本文中調用該權限的方式為 sudo <command>

注意:在對系統沒有足夠了解的情況下不建議直接使用 root 用戶操作,即使足夠了解也請先確認自己知道每一步操作的作用和可能造成的後果。使用 root 用戶進行操作所造成的任何損失(包括但不限於文檔資料損壞或丟失及硬體損壞)筆者不承擔任何責任

如果您認為自己有一定 Linux 操作知識,也可以直接使用 sudo -s 切換到 root 用戶進行操作,只要保證創建一些需要從桌面啟動的文件/文件夾時能夠將其權限設置為 user ,或出現權限問題能夠通過查看和理解錯誤輸出及時意識到問題所在即可

注意:在對系統沒有足夠了解的情況下不建議直接使用 root 用戶操作,即使足夠了解也請先確認自己知道每一步操作的作用和可能造成的後果。使用 root 用戶進行操作所造成的任何損失(包括但不限於文檔資料損壞或丟失及硬體損壞)筆者不承擔任何責任

文中有些文件名為什麼和我下載的不一樣

文中下載的有些文件名是帶有版本號的,例如 software-1.12.1.tar.gz,這裡所有版本號均使用 「x」 代替:software-x.xx.x.tar.gz

配置的應用及重啟

文中很多配置在完成後需要重啟才會被應用,為減少重啟次數,本文將所有重啟應用的配置都放在 0x02 步驟中,完成該步驟後只需重啟一次

0x02 安裝後保證系統能夠正常使用系統使用 RTC 時間

Ubuntu 安裝完成後會出現系統時間與硬體時間不同步的情況,導致 Windows 時間不正確,Windows 端無法進行加密相關的驗證

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

更換國內軟體源

軟體源分別來自 TUNA(清華大學 TUNA 協會 創建的 清華大學開源軟體鏡像站)和 OPSX(阿里雲 創建的 阿里巴巴開源鏡像站

編輯 /etc/apt/sources.list

刪除原本的源,添加如下

## TUNA

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ eoan-security main restricted universe multiverse

## OPSX

deb http://mirrors.aliyun.com/ubuntu/ eoan main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ eoan main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ eoan-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ eoan-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ eoan-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ eoan-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ eoan-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ eoan-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ eoan-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ eoan-backports main restricted universe multiverse

更改完成後檢查所有軟體包的更新並升級

sudo apt update
sudo apt upgrade

使 root 與 user 配置同步

將 /home/user/ 目錄下的配置建立到 /root/ 目錄的軟連結

sudo ln -sf /home/user/.bashrc /root/
sudo ln -sf /home/user/.dircolors /root/

安裝常用軟體包
sudo apt install curl git htop fcitx-googlepinyin gnome-tweak-tool gnome-shell-extensions chrome-gnome-shell vim hwinfo

軟體包用途curl基於 URL 的文件傳輸/請求模擬gitGitHub 命令行客戶端htop進程管理fcitx-googlepinyinGoogle 拼音輸入法gnome-tweak-toolGnome 優化工具gnome-shell-extensionsGnome 擴展管理chrome-gnome-shellChrome 的 Gnome 擴展管理插件vim基於命令行的文本編輯器hwinfo查看硬體信息安裝語言支持並修改輸入法

從應用菜單中找到 語言支持 ,打開後會提示 系統中安裝的語言支持不完整 ,點擊 安裝 ,等待安裝完成

安裝完成後,將鍵盤輸入法系統更改為 fcitx

此時輸入法修改並不會立即生效

0x03 優化顯示優化 Grub 顯示

Grub 實際的配置文件是由多個配置自動生成的,所以這裡需要修改多個文件

修改 Grub 解析度

Grub 默認會使用硬體能夠輸出的最小解析度,導致 Grub 界面模糊

查看顯卡在 Grub 中能夠輸出的解析度

sudo hwinfo --framebuffer

筆者該命令的輸出中,最大解析度 1920x1080,實際使用中可能會出現更高的解析度

在 /etc/default/grub 中修改 Grub 顯示解析度為剛才查詢到的最大解析度

GRUB_GFXMODE=1920x1080

[可選] 修改 Grub 中顯示的作業系統順序

/etc/grub.d/ 目錄中存放的是 Grub 能夠引導的作業系統的配置文件,按照 啟動順序_作業系統名 生成實際的啟動順序

這裡由於筆者習慣,需要將第一啟動項修改為 Windows,直接將 30_os-prober 前的數字改到小於 10_linux 即可

注意:該目錄下有一些需要在所有作業系統前啟動的配置,例如 00_header 和 05_debian_theme,修改的數字要大於這些

為 Grub 安裝主題

在 grub2-themes - GitHub 下載 Release 包

解壓後運行 install.sh,通過參數選擇主題及支持的解析度,具體請參考上面的 GitHub 項目主頁

這裡安裝的是 vimix 主題

sudo ./install.sh --vimix

修改 Grub 背景顏色

雖然已經設置了 Grub 主題,但實際上它只是在默認的紫色背景上顯示了一張圖片進行覆蓋,當選擇作業系統退出 Grub 後,有些主板仍然會顯示默認的紫色背景

這可能導致啟動系統時屏幕出現 黑 -> Grub -> 黑 -> 紫 -> 黑 -> OS ,影響美觀,所以這裡將背景修改為黑色

編輯 /usr/share/plymouth/themes/default.grub 文件,將原本的腳本注釋並寫入新的

#if background_color 79,25,76,0; then
if background_color 0,0,0; then

應用以上 Grub 更改

上面說過 Grub 的配置是由多個文件生成的,系統提供了升級 Grub 重新生成配置文件的命令

update-grub

優化終端顯示修改終端配色

這裡先修改 /home/user/ 目錄下的 .bashrc 和 .dircolors,然後在 /root/ 目錄下建立軟連結,確保能夠同步

在 ~/.bashrc 中注釋掉如下配置

#if [ "$color_prompt" = yes ]; then
#    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
#else
#    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
#fi
#unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
#    ;;
#*)
#    ;;
#esac

並添加如下配置

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[38;5;39m\]\w\[\033[00m\]\$ '

但此時使用 ls 命令顯示的文件夾顏色較深,使用下面的命令修改

dircolors -p > ~/.dircolors
sed -ie 's/DIR 01;34/DIR 38;5;39/g' ~/.dircolors

優化 Terminal 窗口顯示

Ctrl + Alt + T 打開 Terminal 窗口

0x04 日常使用優化修改用戶 home 目錄下文件夾名為英文

由於日常使用終端使用的都是英文,切換到中文目錄中比較麻煩,並且中文可能會導致一些問題

注意:該步驟所有命令使用 user 用戶操作

通過以下命令修改系統語言

export LANG=en_US

更新 GTK 語言

xdg-user-dirs-gtk-update

彈出 Update standard folders to current language? 對話框,選擇 Update Names

一下命令將系統語言重新修改為中文

export LANG=zh_CN

此時該步驟並未結束,重啟後會提示 將標準文件夾更新到當前語言嗎? ,先選擇 不要再次詢問我 ,再點擊 保留舊的名稱

重啟

以上大部分更改都是重啟後才被應用,為減少重啟次數,本文先完成以上所有配置,至此重啟一次即可

注意:此時重啟後默認啟動項是 Windows

0x05 桌面優化卸載不需要的軟體

打開 Ubuntu 軟體

卸載如下軟體包

或者您習慣使用 Firefox 瀏覽器可以留下它,但強烈推薦您使用 Chrome 瀏覽器

安裝 Chrome 請參考步驟 0x07

卸載預裝擴展

刪除 /usr/share/gnome-shell/extensions/ 目錄下所有擴展(Dash to Dock 擴展與某個預裝擴展會產生衝突導致安裝失敗)

Alt + F2,輸入 r 並回車重載桌面

在 Chrome 中安裝擴展

在 Chrome 中安裝 GNOME Shell integration 擴展

安裝完成後訪問 Gnome Extensions

進入擴展頁面後開啟擴展即可自動安裝,在 優化 應用中可以管理擴展

推薦如下擴展

Top Icons Plus 擴展需要使用包管理器安裝

sudo apt install gnome-shell-extension-top-icons-plus

安裝 Gnome Shell 主題

訪問 Gnome Look - Gnome Shell Themes 下載更多,各主題安裝方式可能不同,請參考主題頁面

推薦 Flat-Remix 主題

sudo add-apt-repository ppa:daniruiz/flat-remix
sudo apt update
sudo apt install flat-remix-gnome

安裝圖標主題

推薦 Paper 圖標主題

sudo add-apt-repository -u ppa:snwh/ppa

該源中並不包含 Ubuntu 19.10(eoan),但 Ubuntu 19.04(disco)的主題包也可以應用在 19.10 中,這裡手動更改版本

編輯 /etc/apt/sources.list.d/snwh-ubuntu-ppa-eoan.list

將連結後的 eoan 修改為 disco

更新軟體包列表並安裝圖標主題

sudo apt update
sudo apt install paper-icon-theme

修改 Gnome 桌面設置

打開 Gnome Tweak Tool(優化)

Shell -> Flat-Remix-Darkest-fullPanel配置 Dash to dock 擴展

打開 Gnome Tweak Tool(優化)

Customize windows counter indicators -> Dashes

Alt + F2,輸入 r 並回車重載桌面

0x06 開發環境安裝及配置[可選] Clash 或 ClashR下載 Clash 各組件

如果您有服務商或自建節點,該步驟將幫助您使用 Clash 或 ClashR 連接 Vmess 及 SSR 節點

該步驟使用 Clash 舉例,ClashR 相同

在 Clash - GitHub 下載 Release 包

注意:下載 clash-linux-amd64-vx.xx.x.gz 格式的包

或在 ClashR - GitHub 下載 Release 包

注意:下載 clashr-linux-amd64-vx.xx.x.x.gz 格式的包

解壓後重命名為 clash 或 clashr 並賦予執行權限

mv clash-linux-amd64-vx.xx.x clash
chmod +x clash

在 maxmind-geoip - GitHub 下載 Country.mmdb 文件,該文件提供基於 IP 的定位

在Clash GitHub 源碼 中下載 Clash 的 Logo,作為桌面圖標

在您的服務商處下載 Clash 或 ClashR 節點列表,並更名為 config.yaml

將以上四個文件放到 /usr/local/clash/ 目錄中

啟動腳本

該腳本實現了以下功能

在該文件夾下建立 Clash 的啟動腳本 clash_startup.sh

注意:腳本中變量值根據實際情況配置

#!/bin/bash
CLASH_APP_NAME="clash"
CLASH_APP_PATH="/usr/local/clash"
CLASH_CONFIG_PATH="/usr/local/clash"
CLASH_LOG_PATH="/usr/local/clash/log"
LOG_DATE=$(date +'%Y%m%d')
CHECK_CLASH_PID=$(ps aux | grep "./$CLASH_APP_NAME -d $CLASH_CONFIG_PATH" | grep -v grep | awk '{print $2}')

mkdir -p $CLASH_LOG_PATH

LOG_NUM=$(ls -lR $CLASH_LOG_PATH | wc -l)
LOG_NUM_MAX=15

if [ -n "$CHECK_CLASH_PID" ]; then
    for clash_pid in $CHECK_CLASH_PID; do
        kill -9 $clash_pid
    done
fi

cd $CLASH_APP_PATH && nohup ./$CLASH_APP_NAME -d $CLASH_CONFIG_PATH 2>&1 >>$CLASH_LOG_PATH/$CLASH_APP_NAME-$LOG_DATE.log &

if [ $LOG_NUM -gt $LOG_NUM_MAX ]; then
    for i in $(seq 1 $(($LOG_NUM-$LOG_NUM_MAX))); do
        log_old=$(ls $CLASH_LOG_PATH | sort -n | head -1)
        rm -f $CLASH_LOG_PATH/$log_old
    done
fi

為腳本添加執行權限

chmod +x clash_startup.sh

Clash 桌面圖標

在 /usr/share/applications/ 目錄中 創建 Clash 桌面圖標文件 clash.desktop 並寫入如下配置

注意:配置值根據實際情況填寫

[Desktop Entry]
Version=1.0
Name=Clash
GenericName=Clash
Comment=Clash
Exec=/usr/local/clash/clash_startup.sh
Terminal=false
Icon=/usr/local/clash/logo.png
Type=Application
Categories=Network

Clash 管理界面的桌面圖標

在 /usr/share/applications/ 目錄中 創建 Clash 管理界面的桌面圖標文件 clash-panel.desktop 並寫入如下配置

注意:配置值根據實際情況填寫

注意:該配置是使用 Chrome 打開 http://clash.razord.top/,如果使用其他瀏覽器,將 Exec 項的值修改為您使用的瀏覽器打開指定連結的命令即可

[Desktop Entry]
Version=1.0
Name=Clash Panel
GenericName=Clash Panel
Comment=Clash admin GUI
Exec=/usr/bin/google-chrome-stable http://clash.razord.top/
Terminal=false
Icon=/usr/local/clash/logo.png
Type=Application
Categories=Network

配置系統和應用代理

Clash 默認使用 7890 埠進行 HTTP/HTTPS 代理,使用 7891 埠進行 SOCKS5 代理

系統設置 -> 網絡 -> 網絡代理 -> 手動 ,設置為如下值

HTTP 代理 127.0.0.1 7890
HTTPS 代理 127.0.0.1 7890
Socks 主機 127.0.0.1 7891

此時即可配置應用代理為以上對應的地址和埠實現代理(Chrome 默認使用系統的配置)

配置命令行代理

但有些命令行不使用 Gnome 中設置的代理,可以通過軟體包 Proxychains 設置

sudo apt install proxychains

編輯 /etc/proxychains.conf

注釋掉最後一行的 socks4 配置,添加 socks5 配置

#socks4  127.0.0.1 9050
socks5 127.0.0.1 7891

使用方法

proxychains <command>

測試

proxychains curl google.com

MySQL 8.0

從 官網 下載安裝包

注意:該安裝包的作用是將 MySQL 官方源列表安裝到本地,並非直接安裝 MySQL

點擊 Download 後在跳轉的頁面中選擇 No thanks, just start my download

下載完成後使用 apt 安裝

sudo apt install ./mysql-apt-config_0.8.15-1_all.deb

在彈出的 mysql-apt-config 中選擇 OK

安裝完成後更新軟體包列表並安裝 mysql-server

注意:建議先使用 apt show mysql-server 查看包信息,確認 APT-Source 項為 MySQL 官網(repo.mysql.com)

sudo apt update
sudo apt install mysql-server

根據提示輸入 MySQL root 用戶的密碼

注意:該用戶是 MySQL 的根用戶,與系統 root 用戶不同

Select default authentication plugin 中有以下兩個選項,如果想使用新版加強的密碼加密插件,可以選擇第一個。想使用 5.x 版本的認證方法,選擇第二個。他們的區別主要在於對密碼強度的要求

Use Strong Password Encryption (RECOMMENDED)Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)

這裡建議選擇第二個,在實際測試中發現第一項可能導致某些客戶端無法登錄的問題

Anaconda3

Anaconda 是一個很方便的 Python 包和虛擬環境管理器,詳情請參考 Anaconda Doc

安裝 Anaconda3

從 TUNA 下載 Anaconda3-xxxx.xx-Linux-x86_64.sh 格式的安裝腳本

賦予執行權限並安裝

chmod +x Anaconda3-xxxx.xx-Linux-x86_64.sh
./Anaconda3-xxxx.xx-Linux-x86_64.sh

安裝過程中會詢問安裝位置,填寫為 /usr/local/anaconda3 即可

安裝最後一步會詢問 Do you wish the installer to initialize Anaconda3 by running conda init? [yes|no]

建議輸入 yes

更換為 TUNA 源

換 TUNA 源

首先使用 user 用戶執行 conda config --set show_channel_urls yes 命令生成配置文件

修改 user 用戶 home 目錄下的 .condarc 文件為如下

channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

在 root 用戶 home 目錄下建立軟連接

sudo ln -sf /home/user/.condarc /root/

Anaconda 默認使用 Python 3.7,但實際開發中多使用 Python 3.6

清除索引緩存並將當前 conda 環境下 python 版本替換為 3.6

conda clean -i
conda install python=3.6

Java SE 8u241

截至目前(2020年4月12日),Oracle 發布的最新 Java SE 版本為 14,但為了兼容舊項目以及其他應用,這裡仍然選擇安裝配置 Java SE 8u241

訪問 Java 官網

點擊 Java SE Development Kit 8u241 下的 Linux x64 Compressed Archive 右側連結下載

在彈出的對話框中選中 I reviewed and accept ... ,然後點擊 下載

在跳轉的頁面中登錄 Oracle 帳號

解壓後將其移動到 /usr/local/ 目錄下

編輯 /etc/profile 文件,增加如下配置

export PATH=$PATH:/usr/local/jdk1.8.0_241/bin

export JAVA_HOME=/usr/local/jdk1.8.0_241
export JRE_HOME=/usr/local/jdk1.8.0_241/jre

Go

訪問 GoLang 官網

點擊 Linux 開始下載

解壓後移動到 /usr/local/ 目錄下

在 /etc/profile 中添加以下配置

export PATH=$PATH:/usr/local/go/bin

export GOROOT=/usr/local/go
export GOPATH=/usr/local/go/src

NodeJs安裝 NodeJs

訪問 NodeJs 官網

點擊 長期支持版 開始下載

解壓後重命名為 node 並移動到 /usr/local/ 目錄下

在 /etc/profile 中添加以下配置

export PATH=$PATH:/usr/local/node/bin

安裝 cnpm

由於 npm 官方源位於國外,這裡安裝 cnpm,使用淘寶源進行 nodejs 包管理,在之後的使用中可以直接使用 cnpm 替換 npm

npm install -g cnpm --registry=https://registry.npm.taobao.org

PHP 7.3安裝 PHP 7.3
sudo apt install php7.3-fpm

使 FastCGI 監聽埠

FastCGI 默認監聽 /run/php/php7.3-fpm.sock 文件,按照習慣這裡修改為監聽 9000

將 /etc/php/7.3/fpm/pool.d/www.conf 中 listen 的值修改為 9000

Nginx安裝 Nginx
sudo apt install nginx

配置 Nginx 解析 PHP

編輯 /etc/nginx/site-enabled/default,在 server {} 塊中添加如下配置

location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}

替換將 server {} 塊中的 index 配置替換為如下

index index.php index.html index.htm;

使用以下命令重啟 Nginx 和 php-fpm

systemctl restart nginx
systemctl restart php7.3-fpm

訪問 http://127.0.0.1/ 測試 Nginx 是否配置成功

Nginx 的 web 根目錄默認位於 /var/www/html/ 目錄,在該目錄下創建 index.php 文件,寫入如下代碼並訪問 http://127.0.0.1/ 測試 php 可用性

<?php
phpinfo();
?>

測試完成後刪除 index.php 中的內容

0x07 應用安裝及配置Chrome 瀏覽器

下載 Chrome 並安裝

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb

Free Download Magager 5

FDM5 是一個開源下載器

訪問 FDM5 官網 下載安裝包

sudo apt install ./freedownloadmanager.deb

在 Chrome 中安裝 Free Download Manager 擴展,可接管瀏覽器下載行為

Sarasa Term SC 字體

這是一個開源的等寬字體,中文名為 更紗黑體 ,該字體可以解決在 Chromium 內核中等寬字體渲染錯誤導致不等寬的問題(例如 YaHei Consolas Hybrid 在 VSCode 中)

雖然這個字體一開始用會覺得很奇怪,用習慣了還挺好看

訪問 Sarasa GitHub 下載 sarasa-gothic-ttf-x.xx.x.7z 格式的 Release 包

注意:該字體包中包含了多種字體,我們只需要雙擊 sarasa-term-sc 開頭的字體並點擊右上角 安裝 即可

MySQL Workbench
sudo apt install mysql-workbench

VSCode安裝 VSCode

訪問 VSCode 官網 點擊 .deb 開始下載

sudo apt install ./code_x.xx.x-xxxxxxxxxx_amd64.deb

插件推薦Chinese (Simplified) Language Pack for Visual Studio CodeRemote - SSH: Editing Configuration Files

將以下配置寫入 setting.json(VSCode 的用戶配置文件)

{
    "editor.fontFamily": "Sarasa Term SC",
    "editor.mouseWheelZoom": true,
    "editor.fontSize": 16,
    "todo-tree.tree.showScanModeButton": false
}

網易雲音樂

訪問 網易雲音樂官網

右上角 下載全部客戶端 -> Linux版 -> ubuntu 18.04(64位)

sudo apt install ./netease-cloud-music_x.x.x_amd64_ubuntu_xxxxxxxx.deb

VLC

開源播放器

sudo apt install vlc

FileZilla

開源 FTP 客戶端

sudo apt install filezilla

Telegram

加密即時通訊

sudo apt install telegram-desktop

Postman

HTTP 請求模擬/測試

安裝 Postman

訪問 Postman 官網,點擊 Download 下載

將解壓後的文件夾移動至 /usr/local 下

Postman 桌面圖標

在 /usr/share/applications/ 目錄下為其建立桌面圖標 postman.desktop 並寫入如下配置

[Desktop Entry]
Version=1.0
Name=Postman
GenericName=Postman
Comment=Postman
Exec=/usr/local/Postman/Postman
Terminal=false
Icon=/usr/local/Postman/app/resources/app/assets/icon.png
Type=Application
Categories=Development

修改 Postman 工作目錄

Postman 默認將工作文件放在用戶 home 目錄下且不隱藏

這裡將 settings -> General -> WORKING DIRECTORY -> Location 修改為 /home/user/.postman/ 目錄

Meld

開源文件/文件夾 Diff + Merge 工具

sudo apt install meld

HMCL

Minecraft 第三方啟動器

注意:確保本地配置了 jdk 環境且 java 命令可用

安裝 HMCL

訪問 HMCL 官網 下載  .jar

下載後將其重命名為 HMCL.jar

創建啟動腳本

創建啟動腳本 hmcl.sh,便於桌面調用

#!/bin/bash
HMCL_PATH="/usr/local/minecraft"
HMCL_NAME="HMCL.jar"

cd $HMCL_PATH && java -jar $HMCL_NAME

賦予其執行權限

chmod +x hmcl.sh

下載 logo 並將其重命名為 logo.png

Logo 來自 HMCL 官方 Github 的資源目錄,同級目錄下有其他 Logo 可供使用,以下為可用的 Logo 連結列表

在 /usr/local 目錄下建立 minecraft 文件夾,將 HMCL 的 jar 包,啟動腳本和 logo.png 移動到該目錄中

HMCL 桌面圖標

在 /usr/share/applications/ 目錄下為其建立桌面圖標 hmcl.desktop

[Desktop Entry]
Version=1.0
Name=HMCL
GenericName=Hello Minecraft! Launcher
Comment=A Minecraft Launcher which is multi-functional, cross-platform and popular
Exec=/usr/local/minecraft/hmcl.sh
Terminal=false
Icon=/usr/local/minecraft/logo.png
Type=Application
Categories=Game

修改下載緩存位置

啟動器設置 -> 文件下載緩存目錄 修改為 /usr/local/minecraft/.minecraft/ 目錄

注意:需要將 HMCL 下載源修改為官方源才能正常安裝 fabric

Jetbrains 系列 IDE

這裡使用 idea 舉例

訪問 JetBrains 官網,頂部 Tool 選擇要下載的 IDE,跳轉後點擊 Download ,下載 UltimateProfessional 版本

解壓後將其放在 /usr/local/ 目錄下,其可執行程序一般位於 ide文件夾/bin/ 目錄下,例如 idea/bin/idea,使用 user 用戶運行,在配置過程中會自動創建桌面圖標,無需用戶配置

開始配置前請務必參考 知了 Blog

相關焦點

  • 深度學習環境配置指南!(Windows、Mac、Ubuntu全講解)
    如果你正在面臨配置環境的痛苦,不管你是Windows用戶、Ubuntu用戶還是蘋果死忠粉,這篇文章都是為你量身定製的。接下來就依次講下Windows、Mac和Ubuntu的深度學習環境配置問題。2020年5月19日16:46:31,我更新了顯卡驅動,看到我的cuda支持11以內的1.3 確定pytorch版本,torchvision版本進入pytorch官網:https
  • 【深度學習】相當全面的深度學習環境配置指南!(Windows、Mac、Ubuntu全講解)
    如果你正在面臨配置環境的痛苦,不管你是Windows用戶、Ubuntu用戶還是蘋果死忠粉,這篇文章都是為你量身定製的。接下來就依次講下Windows、Mac和Ubuntu的深度學習環境配置問題。2020年5月19日16:46:31,我更新了顯卡驅動,看到我的cuda支持11以內的1.3 確定pytorch版本,torchvision版本進入pytorch官網:https
  • Ubuntu 9.10正式發布
    代號Karmic Koala的Ubuntu 9.10作業系統今天如期正式發布並上線,給Linux系統愛好者再次奉上了一次盛宴。Ubuntu 9.10新特性相當之多,諸如:- 重新設計、速度更快、界面更炫的啟動和登錄體驗- 優化的音頻框架(可以像Vista/Win7那樣單獨控制多個應用程式的音量)- 改進的3G無線寬帶連接- 新版的軟體中心
  • 副業搞得大,不怕被優化:新春程式設計師優雅賺零花指南
    萬一哪天不幸上了「年底被優化加急名單」,還能靠著副業賺點小錢。更不用說程式設計師群體了——加班多,壓力大,35 歲被優化。這時候,懂得利用自身優勢賺點零花錢就更重要了。 在這份程式設計師賺錢指南中,作者主要介紹了寫稿賺錢的三種方式:投稿、出版和付費文章。 投稿 投稿指的是將寫好的文章發表在固定平臺上,平臺支付稿費的賺錢方法。
  • Ubuntu下adb的使用及常見問題處理
    Bus 001 Device 003: ID18f8:0f99Bus 001 Device 014: ID 19d2:ffb0 ZTE WCDMA Technologies MSMBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0
  • Ubuntu 更新錯誤修復大全
    如果你的錯誤是這樣的:W:Failed to fetch bzip2:/var/lib/apt/lists/partial/in.archive.ubuntu.comubuntudistsoneiricrestrictedbinary-i386Packages Hash Sum mismatch,W:Failed to fetch bzip2:/var/lib/apt/lists
  • win10內置ubuntu子系統的安裝
    最開始,我試著通過虛擬機的方法安裝過ubuntu(linux),後來又通過雙系統的方法安裝過,真是不厭其煩。然鵝,虛擬機安裝需要設置文件共享,而且對電腦配置要求較高,動不動就死機閃退。雙系統倒是解決了這一問題,但是由於硬碟格式問題,ubuntu不能識別windows硬碟(FAT或NTFS格式)上的文件。
  • 大數據之Hive安裝配置
    配置完成hiveSQL的元資料庫之後再開始安裝、配置hive。-0ubuntu0.16.04.1[10.8 kB]Fetched 18.1 MB in1min 56s (155 kB/s)Preconfiguring packages ...
  • 搜狗輸入法Linux版現已支持Ubuntu 20.04
    IT之家了解到,搜狗輸入法 Linux 版昨日還全新支持高分屏顯示,整合了拼音和五筆輸入法,並優化輸入法整體架構與輸入法依賴庫。此前,搜狗輸入法 Linux 版在 2019 年 10 月新增五筆輸入法與符號大全功能,新增跨 Windows、Linux 平臺離線詞庫導入、導出、清空功能。
  • Ubuntu 20.04 LTS和Ubuntu 20.10針對GNOME進行性能優化
    Canonical的Daniel Van Vugt過去兩年因專注於優化GNOME而被大家熟知,最近他在博客向大家介紹了將在Ubuntu 20.04 LTS和Ubuntu 20.10上針對GNOME進行的性能優化工作。
  • 從入門到入土:個人深度學習工作站配置指南(保姆級教程)
    /ubuntu/ focal main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-security
  • UBUNTU裡架設SquirrelMail郵件伺服器
    .com/ubuntu/breezymainrestricteduniversemultiversedebhttps://ubuntu.cn99.com/ubuntu/breezy-updatesmainrestricteduniversemultiversedebhttps://ubuntu.cn99.com/ubuntu/breezy-securitymainrestricteduniversemultiverse
  • Ubuntu使用隨記及相關設置整理
    更新配置文件及重啟系統sudo update-grubreboot3.Ubuntu 18.04安裝fcitx輸入法a.卸載IBUSsudo apt-get purge ibusb.打開 ubuntu 軟體中心,搜索 fcitx,把3個帶企鵝圖標的軟體都安裝上;c.根據你的需要安裝輸入法碼錶,我用的是五筆拼音
  • 適合程式設計師的 MacBook 配置
    其間,我看到了很多介紹 mbp 的文章,也看到很多程式設計師如何配置 mbp 的文章,最讓我深刻的是池建強老師寫的那篇文章,當時看到後,我就把文章地址默默收藏起來,等我買了 mbp 之後,也要像他們一樣玩起來。畢業沒多久,我就入手了 mbp ,記得當時開箱之後,立刻找回那些文章,配置起來。最近有人問起,剛入手了 mbp ,怎麼配置才好啊。
  • 搜狗輸入法Linux版現已支持Ubuntu 20.04 全新支持高分屏顯示
    據了解,搜狗輸入法 Linux 版昨日還全新支持高分屏顯示,整合了拼音和五筆輸入法,並優化輸入法整體架構與輸入法依賴庫。   此前,搜狗輸入法 Linux 版在 2019 年 10 月新增五筆輸入法與符號大全功能,新增跨 Windows、Linux 平臺離線詞庫導入、導出、清空功能。
  • 程式設計師書單,你讀過幾本?
    年信息系統項目管理師考試重點考點難點暨歷年真題解析資料10、程序人生篇百度文庫成長記IT小小鳥Java程式設計師,上班那點事兒Java程式設計師上班那點事兒Java程式設計師職場全攻略 從小工到專家Java夜未眠.程式設計師的心聲程式設計師的思維修煉 開發認知潛能的九堂課
  • 從安裝ubuntu到搭建android環境(三)
    從安裝ubuntu到搭建android環境(三) 來源:www.pipaw.com     時間:2012-05-22
  • Ubuntu安裝 svn(「費勁周折」處理異常問題)
    最近公司新項目開始搭建,需要在ubuntu上安裝svn,起初在其他linux上安裝過svn,沒有在ubuntu上安裝svn的記錄,在家裡首先測試了一把,只是執行簡單的sudo apt-get install subversion 命令svn就安裝成功,但是同樣的命令在公司的伺服器上執行時,系統提示找不到組織包一類的錯誤
  • 在Ubuntu上安裝Budgie桌面
    在 Ubuntu 上安裝 Budgie此方法未在 Linux Mint 上進行測試,因此我建議你 Mint 上不要按照此指南進行操作。對於正在使用 Ubuntu 的人,Budgie 現在默認是 Ubuntu 倉庫的一部分。因此,我們不需要添加任何 PPA 來下載 Budgie。
  • Ubuntu 17.10 (Artful Aardvark) 將於7月19日結束
    該版本早在2017年10月19日發布,Ubuntu 17.10被Canonical和Ubuntu創始人Mark Shuttleworth起名為Artful Aardvark,這是長期使用GNOME用戶界面六年多以來發布的第一個默認帶有Unity桌面環境的Ubuntu版本。