打造Ubuntu20.04/22.04的办公环境
对于经常需要和各种服务器打交道的工程师来说,windows显然不是一个很好的选择。无奈囊中羞涩,没有办法体验MacOS。相比而言,Ubuntu是一个不错的选择。Ubuntu20.04/22.04也已经发布了,结合之前Ubuntu版本的使用经历,目前更换了新的PC,已经将办公环境升级到了Ubuntu22.04,现在综合写下如何在Ubuntu20.04/Ubuntu22.04环境下打造办公环境。
01-系统安装
从官网上下载Ubuntu LTS版本的镜像,刻录到优盘,直接安装就可以了。
注意两点:
1)安装过程中尽量选择英文安装
2)如果可以的话,将系统盘安装在SSD上,配置一个SATA 盘用于存放数据,这个会在后续说明。原因在于万一碰到几次意外断电等情况导致系统盘启动不了,最起码代码、文档等重要的数据放在SATA盘丢失嗯几率比较小。
3)针对配置的SATA盘,我个人的习惯是划分几个不同的目录配置在/etc/fastab文件中,比如Documents、Download等目录。如果是磁盘在1TB 以及以上的话,如果拷贝文件的时候明明有很多空间,但是就是提示"No Space left"可以查看以下inode是不是达到限制了(使用df -i命令)。
02-IP配置
系统安装完毕之后,先进行IP 的配置,确保机器可以上网,因为后续软件的安装等很多都需要联网才能进行。
IP配置比较简单,右上角的Settings-Network,根据网络规则进行配置就可以了。
03-系统优化之一
03-01 root密码配置
首先使用sudo passwd命令配置root用户的密码
03-02 系统更新
因为LTS发布之后还会有软件更新,因此安装系统完毕之后,先获取最新的软件,更新一下
sudo apt-get update
sudo apt-get upgrade
这个时候会提示机器需要重启,先忽略,一会再进行重启。
03-03 关闭当前用户sudo操作输入密码
上述操作过程中执行sudo操作时都需要输入密码,很不方便。
使用当前普通用户执行 cat /etc/sudoers得到的结果是:
cat: /etc/sudoers: Permission denied
这个时候首先切换到root用户下,修改/etc/sudoers文件内容,
在 %sudo ALL=(ALL:ALL) ALL行的下面增加一行
当前用户名 ALL=NOPASSWD:ALL
然后保存退出。
这个时候再使用当前用户执行sudo cat /etc/sudoers就能到看到文件的内容了,并且也不需要输入密码了。
(这个时候编辑/etc/sudoers可能会发现使用vi编辑不是很方便,别着急,一会再说说vim的安装和配置)
03-04 重启测试
系统更新之后提示需要重启操作一直没有进行,这个时候可以重启一下机器,看看启动是否正常,设置的密码是否生效。
04-中文输入法配置
在办公环境下,毕竟中文输入法还是非常有必须要的。之前在Ubuntu 16.04 或者Ubuntu18.04环境中都是使用的搜狗输入法,但是目前既然有官方背书的百度输入法,那就使用官方背书的好了(搜狗输入法也可以安装,请自行搜索)。
这里需要说明的是截至2023年12月8号,ubuntu20.04环境并不支持百度输入法
(2025-02-11重新安装22.04的时候发现使用sogoupinyin中文输入法也不错,反倒是百度输入在ubuntu22.04.04系统上安装出现异常)
04-01 ubuntu20.04 百度输入法配置
百度输入法下载地址:
https://srf.baidu.com/site/guanwang_linux/index.html
将下载的zip文件解压,然后按照《Ubuntu下百度Linux输入法安装方法.docx》里面的指导进行安装就好了。
重要:输入法安装完毕之后需要重启
安装过程不会有大的问题,主要麻烦的地方在于配置。通常中文输入法都是使用shift来进行中英文切换,但是这种方式针对大部分时候需要输入各种Linux命令,并且大小写、各种下划线,以及常用的$ %等符号时,就显得特别不方便。
当重启之后,首先会有百度输入法的设置,这里我们在设置中将“按键” - “中英文切换” 设置为“不使用快捷键”,也就是在中文输入场景下,不需要输入英文字符。
点击右上角的图标,选择ConfigFctix进入Input Method Configuration对话框,
- 进入的Input Method界面后,选择+号
- 进入到Add input method界面,将下面的Only Show Current Language 点掉(重要),在搜索栏搜索百度拼音,选中之后进行添加(建议不要把中文输入法移动到第一位)
- 进入到Global Config界面,将Trigger Input Method设置为Lctl和 Empty,将 Scroll between Input Method设置为 CTRL_SHIFT 这样使用Ctrl来进行输入法的切换。(之前在Ubuntu 16.04习惯使用Ctrl+Tab来进行输入法的切换,无奈这里多次尝试都不能达到次效果,只能作吧。 如果你知道如何设置成Ctrl+Tab来进行输入法的切换,请告知,多谢!)
04-02 ubuntu22.04 中文输入法配置
之前提到在ubuntu22.04环境中还不支持百度输入法,但是系统提供了自带的中文输入。
这里直接在网上搜索 “ubuntu 22.04中文输入法安装”就可以看到很多教程。我这里使用的是Chinese(Interlligent Pinyin) 。 同样的,为了防止在使用Shift进行英文大小写切换的时候,触发输入法的切换,我这里把中英文的切换改成了Ctrl。 点击输入法, 选择"Preferences"->“Shortcuts” 选择 “Switch Chinese/Englis” 点击"Edit"进行修改即可。
05-磁盘使用
前面提到系统盘安装在SSD盘上,将文档等数据保留在SATA盘上。比如环境中有个1T 的SATA盘用于存放重要数据,这样万一哪天遇到意外导致系统起不来也不用担心重要数据的丢失。
首先根据需求将SATA分为2-3个分区,然后格式化为ext4格式。
使用sudo blkid /dev/sdx1 命令获取分区sdx1的UUID, 在 /etc/fstab文件中增加如下内容:
UID=“4657969d-2896-4a1a-9e55-2d9fe3b770d4” /home/user/Documents ext4 defaults 0 0
将所有分区都增加完毕之后,执行sudo mount -a这样就可以看到分区都已经mount到对应的挂载点了。
但是这个时候因为权限的问题,对于当前非root用户还不能进行读写操作。
执行命令(命令中的user请替换为实际的用户名)
sudo chgrp -R user /home/user/Documents
sudo chown -R user /home/user/Documents
这样mount的目录就可以进行读写操作了。注意在mount操作之前,必须要保证mount点的文件夹都是空的,否则会将原来文件夹中的数据隐藏或者覆盖(原来的数据并没有丢失,只是mount之后看不到而已)
这里需要说明的是,对磁盘进行分区仅仅是一个建议,有些同学不喜欢分区,直接将整个磁盘格式化之后挂载给一个目录也是可以的。这种情况下,需要注意文件的数量。有时候明明磁盘剩余的空间还很大多,但是在创建或者拷贝文件的时候提示空间不足,可以使用df -i命令查看一下磁盘对应的inodes数量是不是已经达到最大值。
06-去除swap分区
在系统盘使用SSD或者内存够大的情况下,没有必须要再使用swap分区了。
可以按照如下步骤将swap分区删除:
- 输入命令sudo swapoff -v /swapfile停用 SWAP 空间
- 在 /etc/fstab 文件中删除有效 swap 的行
- 执行命令sudo rm -rf /swapfile删除 swapfile 文件
在上述操作中,使用lsblk命令可以看到接近十个虚拟设备loopx对应/snap目录下的某些文件或者文件夹。对于Ubuntu 18.04有二十多个虚拟机设备。有资料说snap是一种全新的软件包管理方式,从Ubuntu 18.04就开始出现了,大家可以根据需要,自行觉得是否需要删除。
07-vim安装
sudo apt-get install curl vim
具体配置大家各有所爱,就不啰嗦了。
这里的颜色主题推荐使用hybird
将hybrid.vim拷贝到.vim/colors/目录下(如果不存在就创建一个)
在.vimrc文件中配置
setbackground=dark
colorscheme hybrid
系统中需要curl命令(所以curl同vim一并进行安装)
08-时间设置
在命令行终端中输入date看看时间是否与北京时间一致。如果不一致的话,在settings - Region & Language 中将Formats设置为“中国”
09-安装wps和pdf阅读器
09-01 安装wps
去wps官网下载最新的版本,下载后执行命令sudo dpkg -i wps-office*进行安装即可
由于版权的原因,需要将某些字体拷贝到指定目录下,否则出现“Some formula symbols might not be displayed correctly due to missing fonts Symbol, Wingdings, Wingdings 2, Wingdings 3, Webding 3, Webding,”的提示。
安装参考链接:https://github.com/dv-anomaly/ttf-wps-fonts
09-02 安装pdf阅读器
执行命令
sudo apt install okular
10-安装git
执行命令
sudo apt install git -y
11-安装zsh
执行命令
sudo apt install zsh -y
然后执行命令 安装oh-my-zsh
sh -c “$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”
或者
sh -c “$(wget -qO- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”
安装过程中提示“o you want to change your default shell to zsh? [Y/n] ”输入Y就好了。但是切换有可能不成功
这个时候需要手动切换一下
whereis zsh
chsh -s /usr/bin/zsh
通过修改~/.zshrc文件中的ZSH_THEME的取值来更换主题
(主题文件在~/.oh-my-zsh/themes目录下)
另外可以在文中命令别名,例如如下方式
alias vi=“vim”
重启之后可以使用命令echo $SHELL查看系统当前使用的shell是不是变成了zsh
12-开发工具安装
12-01 JetBrains Toolbox App
如果涉及java语言的开发,建议先安装Toolbox,这个软件可以管理所有 Jet Brains 旗下的软件。
(这个安装之前需要安装java)
将压缩包解压一下,使用./jetbrains-toolbox的方式执行一下就安装完毕了。
(在22.04环境中,执行出现提示“dlopen(): error loading libfuse.so.2” 需要先执行一下sudo apt install libfuse2
)
安装完毕有些配置可以修改一下
Toolbox App Updates
Update Toolbox App automatically - 取消。当需要的时候手动选择是否需要升级就可以了。
Appearance & Behavior
Run at login - 取消。我们不希望一开机登录的时候就运行。
之后就是开发工具的选择了。
通常安装免费的社区版
比如选择了IntelliJ IDEA Commmunity Edition之后,点击安装。这个工具的右上角就会有信息提示(通常先是下载的提示)
13-安装java开发编译相关软件
13-01 java安装
这里我们在环境中配置java(默认java8) java11 和java17,其中java11和java17使用的是bisheng jdk
首先需要去网站或者其它地方将需要安装的jdk下载到本地
这里提供安装配置的脚本,脚本中使用到的安装包为:
bisheng-jdk-11.0.20-linux-x64.tar.gz
bisheng-jdk-17.0.8-linux-x64.tar.gz
jdk-8u241-linux-x64.tar.gz
脚本software_install_java.sh内容如下
#!/usr/bin/env bash
# this script is used to install java jdk
set -u
set -o pipefail
SCRIPT_PATH=$(cd "$(dirname "$0")" || exit;pwd)
LOGFILE_PATH="$SCRIPT_PATH/logs"
LOGFILE_NAME="07-software-install-java.log"
LOGFILE="$LOGFILE_PATH/$LOGFILE_NAME"
COLOR_RED='\e[1;31m'
COLOR_NC='\e[0m'
if [[ ! -d "$LOGFILE_PATH" ]]
then
mkdir -p "$LOGFILE_PATH"
echo -e "creat directroy($LOGFILE_PATH) to save log($LOGFILE_NAME) [$(date)] " | tee "$LOGFILE"
else
echo "This is going to install java jdk [$(date)] " | tee -a "$LOGFILE"
fi
jdk_package_filename="jdk-8u241-linux-x64.tar.gz"
java_home_directory="/usr/local/jdk1.8.0_241"
function install_jdk() {
if [ ! -e $jdk_package_filename ];
then
echo "java install -- operation can't continue as no package"| tee -a "$LOGFILE"
return 1
fi
tar -zxf $jdk_package_filename -C /usr/local
# using this way, there may be many JAVA_HOME on /etc/profile
echo -e "java install -- modify /etc/profile file" | tee -a "$LOGFILE"
tmp_message=$(grep 'JAVA_HOME=' /etc/profile)
if [[ "$tmp_message" =~ "jdk" ]]
then
echo -e "java environment already configured." | tee -a "$LOGFILE"
else
echo -e "add java environment to /etc/profile. " | tee -a "$LOGFILE"
{
echo JAVA_HOME="$java_home_directory"
echo JRE_HOME="$java_home_directory/jre"
echo 'PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin'
echo "export JAVA_HOME"
echo "export JRE_HOME"
echo "export PATH"
} >> /etc/profile
fi
echo -e "java install -- notify system jdk location" | tee -a "$LOGFILE"
sudo update-alternatives --install "/usr/bin/java" "java" "$java_home_directory/jre/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "$java_home_directory/bin/javac" 1
echo -e "java install -- set system default jdk to jdk1.8" | tee -a "$LOGFILE"
sudo update-alternatives --set java "$java_home_directory/jre/bin/java"
sudo update-alternatives --set javac "$java_home_directory/bin/javac"
echo -e "java install -- check the jdk version" | tee -a "$LOGFILE"
java -version
check_results=$(java -version 2>&1)
echo -e "check results java: $check_results " | tee -a "$LOGFILE"
if [[ $check_results =~ "command not found" ]]
then
return 1
fi
javac -version
check_results=$(javac -version 2>&1)
echo -e "check results javac: $check_results " | tee -a "$LOGFILE"
if [[ $check_results =~ 1.8 ]]
then
return 0
else
return 2
fi
}
check_results=$(java -version 2>&1)
need_to_install_java="yes"
echo "check java version results are: $check_results" | tee -a "$LOGFILE"
if [[ $check_results =~ 1.8 ]]
then
echo "java checking -- current version is 1.8, check openjdk or not" | tee -a "$LOGFILE"
check_results=$(ls -l /usr/bin/java)
echo "java checking -- java base info($check_results)" | tee -a "$LOGFILE"
check_results=$(ls -l /etc/alternatives/java)
if [[ $check_results =~ jdk1\.8 ]]
then
need_to_install_java="no"
echo -e "java checking -- it seems java version and configuration($check_results) are as expected.\nDo not need to install jdk again" | tee -a "$LOGFILE"
else
echo "java checking -- java configuration($check_results) is not as expected. install it..." | tee -a "$LOGFILE"
fi
fi
if [[ "$need_to_install_java" = "yes" ]]
then
if ! install_jdk
then
echo "java install -- jdk 1.8 install unsuccessfully."| tee -a "$LOGFILE"
else
echo "java install -- jdk 1.8 install successfully." | tee -a "$LOGFILE"
fi
fi
echo "java install -- finished-------------------[$(date)] " | tee -a "$LOGFILE"
# 0: success
# others: fail
function install_bishengjdk() {
if [ ! -e "$jdk_package_filename" ];
then
echo -e "${COLOR_RED}bishengjdk[$bishengjdk_version] installation -- operation can't continue as no package ${COLOR_NC}"| tee -a "$LOGFILE"
return 1
fi
tar -zxf "$jdk_package_filename" -C /usr/local
echo -e "bishengjdk[$bishengjdk_version] installation -- notify system jdk location" | tee -a "$LOGFILE"
sudo update-alternatives --install "/usr/bin/${bishengjdk_version}" "$bishengjdk_version" "$java_home_directory/bin/java" 1
echo -e "bishengjdk[$bishengjdk_version] installation -- check the jdk version" | tee -a "$LOGFILE"
check_results=$("$bishengjdk_version" -version 2>&1)
echo -e "check results bishengjdk[$bishengjdk_version]: \n$check_results " | tee -a "$LOGFILE"
if [[ $check_results =~ "command not found" ]]
then
return 1
fi
if [[ $check_results =~ "BiSheng" ]]
then
return 0
else
return 2
fi
}
# 0 : do not need to install bishengjdk
# others: whereis no jdk or configuration is not right
function check_bishengjdk() {
check_results=$(whereis "$bishengjdk_version" 2>&1)
command_location=${check_results#*:}
echo "check bishengjdk[$bishengjdk_version] command location is : $command_location" | tee -a "$LOGFILE"
if ! [[ $command_location =~ "java" ]]; then
return 3
fi
check_results=$("$bishengjdk_version" -version 2>&1)
echo -e "check bishengjdk[$bishengjdk_version] results are: \n$check_results" | tee -a "$LOGFILE"
if [[ $check_results =~ "openjdk version" ]]
then
echo "bishengjdk[$bishengjdk_version] checking -- it seems bishengjdk has installed. Check detail information ..." | tee -a "$LOGFILE"
check_results=$(ls -l /usr/bin/"$bishengjdk_version")
echo "bishengjdk[$bishengjdk_version] checking -- ${bishengjdk_version} base info($check_results)" | tee -a "$LOGFILE"
check_results=$(ls -l /etc/alternatives/"$bishengjdk_version")
if [[ $bishengjdk_version = "java11" && $check_results =~ "11.0.20" ]]; then
echo -e "bishengjdk[$bishengjdk_version] checking -- it seems bishengjdk version and configuration($check_results) are as expected." | tee -a "$LOGFILE"
return 0
elif [[ $bishengjdk_version = "java17" && $check_results =~ "17.0.8" ]]; then
echo -e "bishengjdk[$bishengjdk_version] checking -- it seems bishengjdk version and configuration($check_results) are as expected." | tee -a "$LOGFILE"
return 0
else
echo "bishengjdk[$bishengjdk_version] checking -- bishengjdk configuration($check_results) is not as expected. install it..." | tee -a "$LOGFILE"
return 2
fi
else
return 1
fi
}
# check bishengjdk java11
jdk_package_filename="bisheng-jdk-11.0.20-linux-x64.tar.gz"
java_home_directory="/usr/local/bisheng-jdk-11.0.20"
bishengjdk_version="java11"
echo -e "\nThis is going to check bishengjdk ${bishengjdk_version} [$(date)] " | tee -a "$LOGFILE"
if ! check_bishengjdk
then
echo "This is going to install bishengjdk ${bishengjdk_version} [$(date)] " | tee -a "$LOGFILE"
if ! install_bishengjdk
then
echo -e "${COLOR_RED}bishengjdk install -- ${bishengjdk_version} install failed.${COLOR_NC}"| tee -a "$LOGFILE"
else
echo "bishengjdk install -- ${bishengjdk_version} install successfully." | tee -a "$LOGFILE"
fi
fi
# check bishengjdk java17
jdk_package_filename="bisheng-jdk-17.0.8-linux-x64.tar.gz"
java_home_directory="/usr/local/bisheng-jdk-17.0.8"
bishengjdk_version="java17"
echo -e "\nThis is going to check bishengjdk ${bishengjdk_version} [$(date)] " | tee -a "$LOGFILE"
if ! check_bishengjdk
then
echo "This is going to install bishengjdk ${bishengjdk_version} [$(date)] " | tee -a "$LOGFILE"
if ! install_bishengjdk
then
echo -e "${COLOR_RED}bishengjdk install -- ${bishengjdk_version} install failed.${COLOR_NC}"| tee -a "$LOGFILE"
else
echo "bishengjdk install -- ${bishengjdk_version} install successfully." | tee -a "$LOGFILE"
fi
fi
echo "bishengjdk installation -- finished-------------------[$(date)] " | tee -a "$LOGFILE"
安装完毕之后分别是使用java -version java11 -version java17 -version查看对应的版本即可。
13-02 maven安装
sudo tar -zxf apache-maven-3.3.9-bin.tar.gz -C /usr/local
安装完毕之后,在/etc/profile修改如下内容
PATH=/usr/local/apache-maven-3.3.9/bin:$PATH
13-03 thrift安装
首先安装相关的依赖(参考http://thrift.apache.org/docs/install/debian)
sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config
在UBUNTU20.04版本中安装thrift-0.9.3的时候,执行
./configure出现如下错误(并没有找到对应的解决方案):
checking for setsockopt in -lsocket… no
checking for BN_init in -lcrypto… no
configure: error: “Error: libcrypto required.”
使用thrift-0.19.0版本进行安装没有出现类似的错误。
安装步骤如下:
tar -zxf thrift-0.19.0.tar.gz
cd thrift-0.19.0
./configure
make
sudo make install
确认安装之后的结果以及版本信息:
$thrift -version
Thrift version 0.19.0
13-03 protobuf安装
注意proto2和proto3是不兼容的,要注意项目使用的版本。
(proto2的最高版本为protobuf-2.6.1)
github地址为 :
https://github.com/protocolbuffers/protobuf
下载新的release版本(Protocol Buffers v3.19.6)
tar -xvf protobuf-all-3.19.6.tar.gz
cd protobuf-3.19.6
./configure --prefix=/usr/local/protobuf
make
make check
sudo make install
安装完毕之后,配置环境变量,在/etc/profile修改如下内容
PROTOBUF_HOME=/usr/local/protobuf
PATH=$PROTOBUF_HOME/bin:$PATH
更改完成之后,执行如下命令
source /etc/profile
确认安装之后的结果以及版本信息
protoc --version
libprotoc 3.19.6
13-04 shellcheck安装
shell脚本检测工具,用于shell脚本的检查,写出高质量shell脚本必备
sudo apt-get install shellcheck
13-05 代码行数统计工具
sudo apt-get install cloc
14-常用工具安装
14-01 截图工具
这里我们使用的事flameshot截图工具,功能比Screenshot要强大
使用apt-cache show flameshot可以查看flameshot的版本
使用下列命令直接安装即可
sudo apt-get install flameshot
安装完毕在Configuration-Filename Editor里面根据自己的需求设置默认的文件保存名称
这里需要说明的是,在ubuntu22.04环境下安装之后,flameshot使用出现异常。根据网络上查询到的结果,需要更新/etc/gdm3/custom.conf 文件,将WaylandEnable=false前的注释去掉,然后将gdm3重启或者将及机器重启。
sudo systemctl restart gdm3
这里需要说明的是执行上述命令,系统会关闭所有窗口(看起来跟注销操作差不多,所以在操作前务必要将工作文档等内容保存),推荐还是在合适的时候重启机器。
重启运行echo $XDG_SESSION_TYPE,输出X11,检查flameshot是否可以正常使用。如果还有异常,请根据错误信息进行排查。
14-02 tmux
一款强大的分屏处理软件,感觉比screen好用
sudo apt-get install tmux
这里需要注意的是tmux 默认情况下不是共享系统剪贴板的。如果安装tmux的时候,可以上网查询一下配置方法(不同版本的tmux配置方法不一样)。
例如: 本环境中安装的是
tmux -V
tmux 3.2a
执行命令 sudo aptitude install xclip
然后在.tmux.conf做如下配置
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel “xclip -i -f -selection primary | xclip -i -selection clipboard”
这样使用Ctrl+b, [ 进入复制模式,通过移动按v选择要复制的区域,选定后使用y进行复制,然后在其它地方使用Ctrl+Shift+v进行粘贴
14-03 Sublime Text 3
代码编辑器软件
官网地址:
https://www.sublimetext.com/3
下载链接:https://www.sublimetext.com/download
下载64 bit .deb 版本,直接使用命令 sudo dpkg -i sublime-text_build-*_amd64.deb进行安装
这个工具比较强大,网上也有很多的配置,大家根据自己的偏好配置就好了
14-03 Meld
一款比较和合并文件的工具
在Ubuntu software里面搜索Meld就可以进行安装了
或者
sudo apt install meld
14-04 Virtual Machine Manager
一种直观的虚拟机监控程序软件,如果工作中需要经常连接节点上的kvm虚拟机(特别需要看到虚拟机的操作界面),建议安装此工具。
sudo apt-get install virt-manager -y
14-04 remmina
一款用于远程windows系统的软件
sudo apt install remmina
15-系统优化之二
15-01 移除已经安装的软件
打开Ubuntu Software在Installed列表中删除游戏、麻将、LibreOffice等软件。
AisletRiot Solitaire
Cheese
LibreOffice相关组件(已经安装wps)
Mahjongg
Mines
Sudoku
15-02 移除不需要的软件包
sudo apt remove deja-dup -y # 卸载备份工具
sudo apt remove remmina -y # 卸载远程工具
sudo apt remove -y transmission-common # 卸载自带下载器
sudo apt remove -y rhythmbox # 卸载系统自带音乐播放器
sudo apt remove -y thunderbird # 卸载系统自带的邮件工具
sudo apt remove -y evince # 卸载Document Viewer
最后使用命令sudo apt autoremove进行自动移除
15-03 终端背景颜色设置
调出终端的菜单,在Perferences中Profiles的Colors中去除“Use colors from system theme”设置背景颜色的值为豆沙绿(十六位代码为#C7EDCC)
小结
随着Ubuntu的不断更新,界面做得也越来越漂亮。当然也有很多Ubuntu优化的地方,因为本人能力有限,也不可能不能一一测试列出,请大家在使用过程中根据偏好进行设置。
对于文档中描述不准确的地方,也请留言,谢谢