2019独角兽企业重金招聘Python工程师标准>>>
很多人觉得 Windows 是最好的操作系统,它的用户图形化交互界面、它的各种功能应用,还有它的易用性等方面完全就碾压一切,Linux 党对此表示不屑;又有很多人把 elementary OS 定义为最美的 Linux 发行版,Ubuntu 党跳出来对此表示不屑。啊~并不是想(打)引(去)战(吧),其实笔者觉得不管是 Windows 还是 Linux,不管是 Ubuntu 还是其它 Linux 发行版,都有自己的特点,至于当下为什么更多的人使用 Windows 而不是 Linux,其中一个大原因在于易用性和相应的配套应用与个性化设置,然而其实他们误会了已经发展到如今的 Linux 了,或者说有些人根本没接触过吧。
Linux 发展到今天,早已不再是只局限于服务器与嵌入式端了,作为个人日常使用的操作系统也完全是杠杠的。鉴于笔者是 Ubuntu 流,本文就以目前比较活跃的 LTS Ubuntu 18.04 为例,从系统安装到具体配置,再到如何个性化美化,一步步分享一下个人经验,让大家了解到 Linux 也可以像 Windows 那样简易;而对于 Ubuntu 党外人士,只想告诉他们,Ubuntu 是最好的发行版。啊~并不是想(打)引(去)战(吧) 。说实在的,希望新手读本文有收获,老司机也可以留言讨论一下相关的配置与个性化设置方案。
一、安装操作系统
1 制作引导盘
鉴于现在都 8102 年了,是时候完全抛弃 Legacy 引导,只采用 UEFI 引导了。
这里有两种选择(所有操作均在 Windows 下进行):
-
刻录到光盘:
使用 UltraISO 刻录系统镜像,在完成之后,电脑可以将光盘识别到 Legacy 和 UEFI 两种方式的引导项。而如果 BIOS 中设置为仅 UEFI ,就只需直接选择进行安装即可。
-
刻录到 U 盘:
-
1、解压镜像文件:
准备一个干净的 FAT32 U 盘( NTFS 不行 ),使用 WinRAR,7z 等压缩工具对 Ubuntu 镜像文件进行解压,解压目录为 U 盘根目录。
-
2、使用刻录工具:
Ubuntu 官网中推荐的 U 盘刻录工具为 Universal-USB-Installer ,但是需要注意的是这个工具刻录后的 U 盘只有 Legacy 引导 ,所以只能抛弃该软件。在网上简单搜索后找到了另一款 U 盘刻录工具:Rufus,它支持 UEFI 引导。使用 Rufus 刻录时分区类型注意选择
GPT
。
-
2 分区
本次目标是做一个双系统出来,所以保留原 Windows 系统,压缩出一个分区给 Ubuntu 使用。找到磁盘管理工具页面 ,对相应分区进行压缩,注意对压缩后的新分区不要新建简单卷或格式化。
3 安装系统
正常的安装过程,诸如对 BIOS 进行设置之类,网上教程很多,这里不多赘述。
在进行到安装类型这一步时,如果你在上一步压缩完分区后,没有新建简单卷,那么这里就会多出一个“安装 Ubuntu,与 Windows boot manager 共存”这一选项,那么就只需默认无脑下一步即可。而如果需要自主划分分区,就选择其他选项 。
分区只推荐划分出根 /
和家目录 /home
。
注意1:为了系统的稳定,安装过程中请连上网络,勾选“安装 Ubuntu 时下载更新 ”。
注意2:安装时选择最小安装 ,除非你对雷鸟、LibreOffice 之类的软件感兴趣。
二、初步系统配置
1 不可或缺的更新
如果在上一步中勾选了安装 Ubuntu 时下载更新,那么大部分的系统更新已经下载完毕。
先移步到设置→详细信息 ,点击右下角的检查更新,如果存在软件更新,那么完成相应的更新。
接着移步到设置→区域和语言→管理已安装的语言,在此处完成一个更新下载。
最后,为了确保系统和软件都更新完毕,打开终端使用命令安装更新:
sudo apt update sudo apt upgrade
也可以不使用命令行,使用软件更新器对系统和软件进行更新。
2 双系统的时区问题
双系统下 Windows 与 Ubuntu 的时间将会不相同,原因不多阐述,解决方案如下:
timedatectl set-local-rtc 1
3 更换终端类型
这里推荐使用 oh-my-zsh ,因为其具有十分智能的 Tab 补全能力:
sudo apt-get install git sudo apt-get install zsh wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh chsh -s /usr/bin/zsh
重启系统以生效。
三、配置与美化系统
1 Gnome-tweak-tool
Ubuntu 18.04 与 16.04 最大的变动就是抛弃了 Unity 桌面,转而使用 Gnome ,所以先安装以下工具:
sudo apt install gnome-tweak-tool
然后找到 Ubuntu 软件→附加组件,在此处安装相应的 Shell 组件。
为了自定义 Shell 主题,需要安装、启用 User Themes 插件,这样才可以修改 Shell 样式,也就是顶栏。
附:一个下载主题的网站:Gnome-look
上图中主题和图标的的下载地址:Sierra-light、MacOS Icon
2 主题、图标、字体
下载的主题如果是 deb 包的形式,安装方式见下文。而如果是压缩包的形式,那么就只能解压它放到对应的目录中了,这个目录有两种,区别上类似于 Windows 环境变量里的个人和系统。
- 主题存放目录:
/usr/share/themes
或~/.themes
- 图标存放目录:
/usr/share/icons
或~/.icons
- 字体存放目录:
/usr/share/fonts
或~/.fonts
其中 /usr/share 目录需要 root 权限才能修改,秉着有图形界面就不用终端的心态:
# 终端下打开一个具有管理员权限的文件管理器 # 打开后终端最小化,不要关闭 sudo nautilus # 或者放到本地目录中就无需 root 权限了
这里推荐一个专为 Linux 设计的字体:文泉驿系列字体
sudo apt install fonts-wqy-microhei fonts-wqy-zenhei
3 Grub 启动项美化
主题包地址:Gnome Look - GRUB Themes (自行挑选喜欢的)
这里使用的主题包为:Fallout
接下来介绍安装步骤:
首先下载主题包,它是一个 zip 压缩包。解压出文件,使用 sudo nautilus
打开带权限的文件管理器。
定位到目录:/boot/grub
,在该目录下新建文件夹:themes
,把解压出的文件拷贝到文件夹中。
接着(终端下)使用 gedit 修改 grub 文件:
sudo gedit /etc/default/grub
在该文件末尾添加:
# GRUB_THEME="/boot/grub/themes/主题包文件夹名称/theme.txt" GRUB_THEME="/boot/grub/themes/fallout-grub-theme-master/theme.txt"
最后更新配置文件:
sudo update-grub
重启系统以见证效果。
另外谈到 grub 就不得不谈到 /boot/grub/grub.cfg
,这个文件才是事实上的配置文件,操纵此文件一个不慎就整个系统凉凉。所谓更新配置文件就是重新生成 grub.cfg 的过程,要小心谨慎。
上面的步骤是不是略显麻烦,不过不用担心,如果你决定使用 Fallout 主题,那么该主题的作者提供了更简单、安全的安装命令:
wget -O - https://github.com/shvchk/fallout-grub-theme/raw/master/install.sh | bash
4 搜狗输入法
Ubuntu 18.04 没有提供 Fcitx 输入框架,所以先安装该框架:
sudo apt install fcitx
先到搜狗输入法官网下载输入法安装包,将会下载到一个 deb 格式的安装包,安装它:
# 首先移步到文件管理器的下载目录,终端下输入以下命令进行安装 sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb # 一般情况下会提示安装失败,缺失依赖,所以先解决依赖问题 sudo apt install -f # 接着重复第一步安装搜狗输入法的命令 # 一般 deb 包都是如此安装的,如果失败就去解决依赖问题
然后移步到设置→区域和语言,删除一部分输入源,只保留汉语 。接着选择管理已安装的语言,修改键盘输入法系统为 fcitx 。关闭窗口,打开所有程序,选择软件 Fctix 配置 ,选择加号添加搜狗输入法(见下图):
如果没有找到搜狗,就重启系统,再次重复以上步骤即可。
推荐一个搜狗输入法皮肤:简约-信 。
5 底栏 Docky
这是一个能做到和 Mac 类似效果的 Dock 软件,颜值上比 Ubuntu 自带的好了很多。
首先把 Ubuntu 自带的 Dock 设置为自动隐藏:设置→Dock→自动隐藏 Dock ,然后安装软件:
sudo apt install docky
如果想要去掉 Docky 第一个图标,可以这么操作:
在 Ubuntu SoftWare 中搜索 Configuration Editor ,安装后打开软件,定位到:
/apps/docky-2/Docky/Items/DockyItem
取消 ShowDockyItem 的勾选状态。
四、安装常用软件
1 DeepinWine 环境安装 QQ
曾经试用过一次 CrossOver ,用其安装了 TIM ,心想如果没太大毛病就购买这个软件了,只是蛮遗憾的一堆小问题,虽然不影响使用,但是影响体验呀。所以真的很感叹 Deepin 封装的 TIM/QQ 的稳定性,所以这里也是借用 Deepin 的贡献达到使用 QQ 的目的。
首先需要在本机下载 Deepin-Wine 环境:deepin-wine-ubuntu
克隆或下载压缩包到本机,解压后在终端目录下执行命令:./install.sh
安装环境。
2 网易云音乐
在写这篇文章时,操作系统版本为:Ubuntu 18.04.1 LTS x86_64
;网易云音乐版本为:1.1.0
首先去网易云音乐官网下载安装包(Ubuntu 16.04 64 位),然后就是正常的 deb 包安装过程。
安装完毕后,会发现在应用列表中点击应用图标无法启动软件 (当前版本如此),解决方案:
# 修改网易云音乐的启动图标: sudo gedit /usr/share/applications/netease-cloud-music.desktop # 修改 Exec 这一行内容为: Exec=sh -c "unset SESSION_MANAGER && netease-cloud-music %U" # 附录:网易云音乐配置及缓存目录: ~/.config/netease-cloud-music ~/.cache/netease-cloud-music
参考资料地址:Ubuntu 18.04 装了网易云音乐,难道只能用 sudo 启动吗?- @Fancy 解答
3 一般性软件安装
相对麻烦的软件安装记录完毕,下文介绍一些其它软件的安装:
3.1 Chrome - Web 浏览器
sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo apt update sudo apt install google-chrome-stable
3.2 Shadowsocks - 网络代理
下载地址:s-qt5
下载到的是 AppImage 格式,是可以直接双击运行的。
-
关于自启动:打开应用列表找到启动应用程序,选择添加,命令中点浏览,选择安装程序即可。
-
关于代理类型:
软件中的配置编辑器,本地地址:
127.0.0.1
,本地端口:1080
,服务器类型:SOCKS5
系统设置中,网络→网络代理,类型选择手动。Socks 主机:
127.0.0.1
1080
,其余的置空。
如此代理,是为全局代理。而如何使用 PAC 呢,请让你的 SS 提供商提供支持在线填写过滤规则的面板。
Shadowsocks 在协议上支持 SS 协议,不支持 SSR 协议。可以使用软件:electron-ssr:erguotou520/electron-ssr
这是一个跨平台(支持 Windows、macOS 与 Linux 系统)的 ShadowsocksR
客户端桌面应用,它功能丰富,支持 Windows 版大部分功能,更有更多人性化功能。
3.3 Neofetch - 系统配置查询
终端下查询系统配置信息。
sudo apt install neofetch
3.4 Typora - MD 编辑、阅读器
颜值很高的实时 MD 编辑、阅读软件。
# optional, but recommended sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA300B7755AFCFAE # add Typora's repository sudo add-apt-repository 'deb https://typora.io/linux ./' sudo apt update # install typora sudo apt install typora
3.5 Albert 软件启动器
很实用的软件启动器,我在安装的时候按照添加 PPA 的方法安装失败了,所以去其官网(GitHub-Albert)查找了一下,步骤上略显繁琐,这里记录一下:
先这样:
wget -nv -O Release.key \ https://build.opensuse.org/projects/home:manuelschneid3r/public_key sudo apt-key add - < Release.key sudo apt update
然后这样:
sudo sh -c "echo 'deb http://download.opensuse.org/repositories/home:/manuelschneid3r/xUbuntu_18.04/ /' > /etc/apt/sources.list.d/home:manuelschneid3r.list" sudo apt update sudo apt install albert
3.6 popup-dict - 划词翻译
Linux 下的划词翻译工具,支持使用有道等多种翻译服务。
功能特点:
- 目前只支持英文->中文翻译,支持单词和短语
- 主要针对 Gnome 桌面环境,不保证其它环境下的正常使用
- 鼠标划词翻译,弹窗显示
- 智能处理选中内容(去除两端非英文字符、压缩空白字符、删除换行符等)
- 弹窗显示一段时间后自动关闭。若鼠标在弹窗中,延迟关闭
- 点击弹窗中链接可打开有道词典网页版
安装过程:
# 安装 pip3 ,如果已有请忽略此步骤 sudo apt install python3-pip # 安装 PyGObject 依赖 sudo apt install python-gi python-gi-cairo python3-gi python3-gi-cairo gir1.2-gtk-3.0 # 安装 popup-dict sudo pip3 install popupdict
运行软件:使用 Gnome 扩展 Popup dict Switcher
4 Gnome 扩展
Ubuntu 18.04 抛弃了 Unity 桌面转而使用 Gnome,所以 Gnome 桌面下的一些 Shell 扩展在 Ubuntu 18.04 中就可以使用了。在 Gnome-tweak-tool 一节中就提到通过 Ubuntu 软件中心下载、安装和管理 Gnome 扩展(附加组件),下面介绍一种通过浏览器对 Gnome 插件的安装管理方式:
首先安装 Chrome Gnome Shell :
sudo apt install chrome-gnome-shell
然后安装浏览器插件(谷歌浏览器):Chrome 网上应用商店
浏览器插件安装完成后点击插件图标就能进入:Shell 扩展商店
Gnome 扩展推荐
扩展 | 简要功能描述 |
---|---|
Appfolders Management extension | 添加文件夹 |
Autohide Battery | 自动隐藏电源(充电状态下已满) |
Caffeine | 取消自动锁屏(应用前台允许下) |
Clipboard Indicator | 剪切板管理工具 |
Coverflow Alt-Tab | Alt Tab 切换应用(更酷炫的界面) |
Dash to Dock | Dock (没 Docky 好看,但能添加收藏夹) |
EasyScreenCast | 录屏工具(录制质量优秀) |
Extension update notifier | 自动推送所有扩展的更新信息 |
Hide Top Bar | 全屏时自动隐藏顶栏 |
HiKitty | 一个有趣的扩展(放松必备) |
Internet speed meter | 顶栏显示当前网络速度 |
Lock Keys | 顶栏显示 Numlock 和 Capslock 的状态 |
Never close calendar event | 从不清除日历事件 |
OpenWeather | 顶栏显示天气情况(支持中文) |
Places Status Indicator | 提供快捷目录入口(同文件管理器) |
Popup dict Switcher | 一键开关划词翻译 |
Removable Drive Menu | 移除可移动设备 |
Screenshot Tool | 截图工具(挺方便) |
Sound Input & Output Device Chooser | 更方便的调整声音、亮度 |
System-monitor | 在状态栏中显示系统信息(很多类型) |
TaskBar | 类似于 Windows 任务栏的显示效果 |
Time ++ | 番茄钟(闹钟、秒表、计时器) |
TopIcons Plus | 顶栏显示应用图标(托盘显示) |
User Themes | 允许本地安装使用 Shell 主题 |
以上表格提到的所有扩展都能在 Ubuntu 18.04 中使用,如果存在安装失败的情况,请检查是否满足依赖 。
5 使用 Snap 包安装软件
5.1 Snap 简介
在 Ubuntu 16.04 时,Ubuntu 系统就已经内置了 Snap,Snap 打包的应用不同于 deb 安装包,其包含了各种依赖环境等等(另一个和 Snap 类似的是 Flatpak,Deepin 正在使用的就是这个)。
5.2 Snap 命令
- 登录 Snap Store
# 这个账户是你的 UBuntu One 账户(https://login.ubuntu.com/+login) sudo snap login [email protected] # 退出账户 snap logout
Snap 通常从 Snap Store 安装。您可以在不登录的情况下与 Snap Store 进行交互,但登录可提供许多优势。这些优势包括能够访问私人快照和管理快照而无需设备上的 root 。概括来说:可以不登录,但是大部分命令就需要使用 sudo,登录账户后则无需使用。此外登录账户后才可以发布 snap 包。
PS:在应用商店里可以搜索、安装、下载到基于 snap 的软件,所以下列内容仅供参考。
snap find# 查找 snap install # 安装 snap remove # 删除 snap revert # 还原 snap disable # 禁用 snap enable # 启用
更多 snap 的命令用法可在终端下:man snap
查看,或者浏览器访问:snap: command reference
6 文件备份同步
6.1 FreeFileSync
FreeFileSync 是一款本地同步备份软件:如将本地硬盘上的文件同步到移动硬盘上。可以做到增量备份、自动识别差异项等。同步方式有:双向、镜像、更新 。
本身是一款免费的跨平台软件(Windows、macOS、Linux),可以通过捐赠获得免安装版本(然而只有 Windows 和 macOS 版)。
下载地址:Download FreeFileSync
Linux 版本下载文件为一个压缩包,解压后直接点击 FreeFileSync 文件就能使用,所以也就没有桌面图标啦。
有条件就绝对不手写,创建图标:
# 安装软件 gnome-desktop-item-edit # –-no-install-recommends 参数避免安装非必须的文件,从而减小体积 sudo apt install --no-install-recommends gnome-panel # 创建应用程序启动方式 sudo gnome-desktop-item-edit /usr/share/applications/ --create-new
命令:点浏览展开到解压目录,选择 FreeFileSync 的可执行文件(图中解压目录位于 ~/App/
目录)。
图标:解压包中有一个名为 Resources.zip 的压缩包,含有一些图片,从中选取软件图标。
6.2 坚果云
坚果云是一款云端同步软件,与同类的 OneDrive 相比,坚果云做到了全平台兼容。
下载地址:坚果云 Linux 版 (普通的 deb 安装包)
6.3 Chfs
该程序是一个免费的、HTTP 协议的文件共享服务器,使用浏览器可以快速访问。它具有以下特点:
- 单个文件,整个软件只有一个可执行程序,无配置文件等其他文件
- 跨平台运行,支持主流平台:Windows、Linux 和 macOS
- 支持扫码下载和手机端访问,手机与电脑之间共享文件非常方便
- 支持账户权限控制和地址过滤
与其它常用文件共享方式(如 FTP、飞秋、网盘、自己建站)相比,具有使用简单、适用场景更多的优点,在个人使用以及共享给他人的场景中非常方便快捷 。
下载地址:CuteHttpFileServer ,使用方案见网站说明。
7 触摸板手势
触摸板手势这里有两个选择:touchegg 和 libinput-gestures
touchegg 从提交记录上看似乎有些年代偏久了,而且 Issues 也有一堆问题,所以这里选用 libinput-gestures。
安装步骤:
需要先加入用户组才有权限:
# 加入用户组 sudo gpasswd -a $USER input # 完成之后重启操作系统
Debian 和 Ubuntu 用户还要安装 libinput-tools
sudo apt install libinput-tools
然后:
# 安装 git clone https://github.com/bulletmark/libinput-gestures.git cd libinput-gestures sudo make install # (or sudo ./libinput-gestures-setup install) # 启动 libinput-gestures-setup start libinput-gestures-setup autostart # 停止 libinput-gestures-setup stop libinput-gestures-setup autostop # 卸载 libinput-gestures-setup stop libinput-gestures-setup autostop sudo libinput-gestures-setup uninstall
五、附录
1、软件图标(.desktop)文件位置:
/usr/share/applications
# 大部分启动图标都在此~/.local/share/applications
# 一部分本地图标/var/lib/snapd/desktop/applications
# snap 类软件在此
对于 *.desktop 文件,可以使用文本编辑器对图标或名称之类的进行修改。
2、基本命令:
# 查看所有 shell 以及如何切换 cat /etc/shells chsh -s /xxx/xxxx # 强制清空回收站 sudo rm -rf $HOME/.local/share/Trash/files/* # 系统环境变量位置 /etc/profile # 环境变量值 PATH 的一种写法 export PATH=$PATH:变量1:变量2:变量3 # 个人终端下的环境变量 ~/.bashrc ~/.zshrc # MySQL 的 root 账户密码 sudo mysql -u root # 使用管理员权限进数据库 DROP USER 'root'@'localhost'; # 删除原数据库中 root 账户 CREATE USER 'root'@'%' IDENTIFIED BY 'passwd'; # 新建并指定密码 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'; # 赋权 FLUSH PRIVILEGES; # 更新 # 多版本切换( java 等) sudo update-alternatives --installsudo update-alternatives --remove sudo update-alternatives --config
配置方案供参考,欢迎留言探讨。
作者介绍
Inkss,个人 GitHub:https://github.com/inkss 。
本文系作者投稿文章。欢迎投稿。
投稿内容要求
- 互联网技术相关,包括但不限于开发语言、网络、数据库、架构、运维、前端、DevOps(DevXXX)、AI、区块链、存储、移动、安全、技术团队管理等内容。
- 文章不需要首发,可以是已经在开源中国博客或网上其它平台发布过的。但是鼓励首发,首发内容被收录可能性较大。
- 如果你是记录某一次解决了某一个问题(这在博客中占绝大比例),那么需要将问题的前因后果描述清楚,最直接的就是结合图文等方式将问题复现,同时完整地说明解决思路与最终成功的方案。
- 如果你是分析某一技术理论知识,请从定义、应用场景、实际案例、关键技术细节、观点等方面,对其进行较为全面地介绍。
- 如果你是以实际案例分享自己或者公司对诸如某一架构模型、通用技术、编程语言、运维工具的实践,那么请将事件相关背景、具体技术细节、演进过程、思考、应用效果等方面描述清楚。
- 其它未尽 case 具体情况具体分析,不虚的,文章投过来试试先,比如我们并不拒绝就某个热点事件对其进行的报导、深入解析。
投稿方式
- 以 Word 或者 Markdown 文档的形式将稿件投递到 [email protected] 邮箱
重要说明
- 作者需要拥有所投文章的所有权,不能将别人的文章拿过来投递。
- 投递的文章需要经过审核,如果开源中国编辑觉得需要的话,将与作者一起进一步完善文章,意在使文章更佳、传播更广。
- 文章版权归作者所有,开源中国获得文章的传播权,可在开源中国各个平台进行文章传播,同时保留文章原始出处和作者信息,可在官方博客中标原创标签。