写在最前
Ubuntu又挂了,实在是体质特殊,同样的安装文件安装方式,到我这总能遇到神奇bug,我都觉得我就应该去做软件测试师,怎么干都有bug,虽然大概会被同事打死。总之为了避免再遇到同样的问题,也遵从楠皮的建议把遇到的坑归纳下来。
安装盘制作教程
这个直接参考另一篇博客。很简单,全程傻瓜式安装:Ubuntu安装盘制作教程
- 我的机型是机械革命深海幽灵z2 1060款;
- 第一步: 准备好WePE ,对,没错就是PE,因为要先准备好Ubuntu的分区,我只是拿来做做实验外加体验一下Linux操作系统,之前双硬盘双系统,
- 一个Ubuntu只要30G上下就够了
我却分了256G的ssd硬盘给它,太浪费了。 - 开机按F2, 在
boot
项上把#option1
设置为USB启动项
,现在设好一会Ubuntu的那个U盘就省事了。 - 进入PE以后在分区助手里把
非Win10系统盘
里调整分区大小,使得硬盘有一部分未分配的空闲分区,大概50g左右即可,除非你是一个盘一个系统,那样只要格式化那个盘就好。Ubuntu安装时,Ubuntu系统会自动识别这个空闲分区然后填满。 - 第二步:拔出PE的U盘,换成Ubuntu的U盘,进入后选择第二项
Install Ubuntu
,一路默认安装即可,语言选择English(US)
,因为很多设置如果路径是中文会遇到不少蛇皮bug,血淋淋的教训。 - 重启开机按F2,进入
bios
,在boot
最下面的设置里,把开机时的系统启动项设置为Ubuntu
。
grub2美化
选择主题
在 gnome-look选择一款合适自己的主题安装,基本上都会配有安装说明,会想到安装Ubuntu的人的英语底子应该还是能看懂的。我使用的是 Grub-theme-vimix 这款,
主要是它的背景图片可以任意替换,原版图片我委实不太喜欢,修改过之后文件名
不同的话记得在Vimix
文件夹下的theme.txt
中对应修改。默认安装
Ctrl+Alt+T ,打开`terminal`,也可以右键快捷菜单打开。Ubuntu基本都是靠命令行来管理,要做好心理准备。1
2cd ~/Downloads/grub-theme-vimix
sudo ./Install修改分辨率
装主题后,要编辑grub
文件中的分辨率让它生效。1
sudo gedit /etc/default/grub
在
/etc/default/grub
中找到GRUB_GFXMODE
这一行,取消注释, 将后面的分辨率改成自己的屏幕分辨率:1
GRUB_GFXMODE=1920x1080
保存后运行以下代码重启即可。
1
sudo update-grub
以后但凡是涉及到grub的内容,修改后都要运行一下这个
可能遇到的bug
我也不知道为什么,按理说Install脚本没问题,但是安装还是会出错导致不生效,这时候找到1
sudo nautilus /boot/grub/themes
会发现Vimix的主题文件被直接放在了themes文件夹里,
- 解决方案:新建一个Vimix文件夹(注意大小写),把这些文件拖进去就好。
更改背景
以后的更改背景图片也是同理,直接在/boot/grub/themes/Vimix
文件夹里放入你想要更改的图片,然后修改themes.txt
中desktop-image: "/your picture url"
,接着运行1
sudo update-grub
登录界面美化
- 修改gdm3.css
理论上这个登录界面就是个前端界面,因为它就是通过css文件修改的。
推荐在修改之前最好备份一个gdm3.css
方便以后恢复。
编辑配置这个文件:修改相应内容1
2sudo cp /etc/alternatives/gdm3.css /etc/alternatives/gdm3.css.bak
sudo gedit /etc/alternatives/gdm3.css1
2
3
4
5
6
7
8
9#lockDialogGroup {
- background: #2c001e url(resource:///org/gnome/shell/theme/noise-texture.png);
- background-repeat: repeat;
+ background: #2c001e url(file:///usr/share/backgrounds/mypicture.jpg);
# usr/share/backgrounds/mypicture.jpg是我的文件路径,替换成你自己的,记得图片分辨率要和自己的电脑保持一致
+ background-repeat: no-repeat;
+ background-size: cover;
+ background-position: center;
}
可能遇到的bug
Ubuntu更新时会重置gdm3.css,这时候登录界面又会变成丑丑的纯色界面,重新操作一下上面的流程就好。有兴趣继续探索的可以慢慢研究,css嘛,前端学的好的就能改的。
安装主题
- 前期准备
Ubuntu采用了GNOME,因此要美化主题,首先需要安装
gnome-tweak-tool
。接下来,需要安装1
2sudo apt-get update
sudo apt-get install gnome-tweak-toolUser themes
才能启用第三方主题,
直接从 Ubuntu 自带商店中搜索User themes
安装即可。 主题推荐
资源管理器主题
推荐Vimix-Gtk-Theme可以找到安装说明,推荐直接去它的github网页下载主题文件,解压后直接在文件夹内打开terminal,运行:
1
sudo ./Install
应用图标
推荐Vimix-icon-Theme
下载解压后直接在文件夹内打开terminal,运行:1
sudo ./Installer.sh
鼠标指针
推荐Pulse Glass
下载解压后运行1
sudo nautilus /usr/share/icons
把下载的鼠标指针文件放进去即可在
tweak(优化)
里面进行设置
terminal终端美化
安装 zsh
终端选用zsh
,首先执行:1
2sudo apt-get install zsh # 安装zsh
zsh --version # 查看版本号,确认是否安装成功安装oh-my-zsh
使用wget
安装oh my zsh
1
2sudo apt-get install git # 已经安装了git的忽略这一条
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"设置oh-my-zsh
1
sudo gedit ~/.zshrc
修改主题为
agnoster
1
ZSH_THEME="agnoster"
在zshrc末尾添加
1
DEFAULT_USER=$USER
保存退出,运行
1
2source ~/.zshrc
# 以后凡是修改过这个的都要运行一遍这行代码安装powerline字体
1
2
3git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh在终端->编辑->首选项里选择启用第三方字体为powerline即可。
但是此时我们的默认shell可能并没有设置为zsh,虽然我知道有一些人
的电脑很上道,直接自己帮你设好默认了。保险起见还是设置一下。1
2
3
4sudo chsh -s $(which zsh)
# 设置zsh为默认shell
sudo reboot
# 注销重新登录,为了防止你自己老是不愿意重登重启后检查下
1
2
3
4# 确认zsh是否是默认SHELL
echo $SHELL
# 一般输出会是(反正有zsh字样就对了
/usr/bin/zsh- 插件安装
我对这个没兴趣,我不会在终端编程,有功能完善的ide干嘛自找麻烦。有兴趣的自己去找。
开发环境配置
配置java
- 到官网下载jdk8
我下载的是jdk-8u211-linux-x64.tar.gz,后来人看到的肯定不是这个版本了,关系不大,改下版本号就行。
打开terminal,执行:在文件末尾添加:1
2
3
4sudo mkdir /usr/lib/jvm
sudo tar -zxvf jdk-8u211-linux-x64.tar.gz -C /usr/lib/jvm
# 由于我使用 `zsh` ,因此编辑的是` ~/.zshrc` 文件,来加入环境变量
sudo gedit ~/.zshrc然后执行:1
2
3
4
5+ #set oracle jdk environment
+ export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_211
+ export JRE_HOME=${JAVA_HOME}/jre
+ export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
+ export PATH=${JAVA_HOME}/bin:$PATH1
source ~/.zshrc
- 为系统设置默认 JDK
打开terminal。运行以下代码。(渣机还是老老实实一行行来,不要一次性全部运行。若是初次安装 JDK,会有下面的提示:1
2
3
4
5
6sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_211/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_211/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_211/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.8.0_211/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.8.0_211/bin/javap 300
sudo update-alternatives --config java否则,选择合适的 JDK即可。1
2There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/jdk1.8.0_211/bin/java
Nothing to configure.1
java -version #查看Java版本
安装Anaconda
Anaconda历代版本
因为有一个python版本的对应,这里给个对照图表好了这里我下载的是
Anaconda3-5.2.0-Linux-x86_64.sh
- 安装
执行以下命令安装:因为安装包内置的Anaconda的环境变量添加动作只会添加到1
bash Anaconda3-5.2.0-Linux-x86_64.sh
~/.bashrc
下,而使用 zsh 的需要在~/.zshrc
下添加,执行在文件末尾加入1
sudo gedit ~/.zshrc
保存后执行1
2
3+ #added by Anaconda3 installer
+ export PATH="/home/测试/anaconda3/bin:$PATH"
# 测试是我的用户名,改成你自己的1
source ~/.zshrc
浏览器
安装chrome
火狐我是不习惯,香肯定还是chrome香。
下载chrome的deb安装包chrome for linux
使用sudo dpkg -i 包名.deb安装即可。SwitchyOmega插件
这关系到下面的v2ray安装。
不过有点矛盾,我就是因为要翻墙才下插件,但是要翻墙了才能在谷歌应用社区下插件。
所以呢,就要靠万能的github了,谢天谢地它还没被墙。
访问SwitchyOmega
拉到最下下载这个文件 :SwitchyOmega_Chromium.crx
下载完成后安装到chrome内。- 可能遇到的bug:
- crx脚本安装失败
这里先把SwitchyOmega_Chromium.crx
改名为SwitchyOmega_Chromium.zip
,
解压后保存为SwitchyOmega_Chromium
文件夹。
在chrome里头像旁边三个点->setting->more tools->extensions->development->load unpack,
(头像旁边三个点->设置->更多工具->扩展->打开开发者模式->加载已解压的扩展程序)
选择SwitchyOmega_Chromium
文件夹即可。
- crx脚本安装失败
科学上网
声明:此节仅作为技术交流,任何人不得以此方式进行任何的违法行为。若有,造成的一切后果与本人无关。
electron-ssr已经停止更新,原作者删了源代码,且SSR服务并不如V2Ray稳定,推荐使用V2Ray
SSR的用户可以安装
electron-ssr
,这是一个Ubuntu下也能够使用的SSR客户端。- 下载electron-ssr中的release,
我的是electron-ssr-0.2.6.deb
安装下载后在该位置打开terminal,
1
sudo dpkg -i electron-ssr-0.2.6.deb
虽然deb可以像在windows下执行exe一样双击安装,
但是吉皮说过,程序员就要用命令行,图形化界面一点也不Elegant。
开个玩笑,事实上命令行内方便使用这两行命令来修复依赖关系。以后会经常用到它们的。1
2sudo apt-get update
sudo apt-get install -f
v2ray的用户请使用v2ray,感觉这是一句废话
有现成的安装脚本,但在那之前必须先准备好配置文件。希望你们已经看过Win10系统下v2rayN客户端的教程。
先在
Win10
的v2rayN客户端
选中所有的结点,然后右键
->导出所选服务器为客户端配置
,导出的文件保存为config.json
。切回
Ubuntu
,先在git
上下载指定的客户端源代码,没有图形化界面真是抱歉呢。
客户端的源代码网址:v2ray-core
非64位系统到这里找找指定的版本。1
2
3
4
5
6
7
8
9
10
11
12
13sudo wget https://github.com/v2ray/v2ray-core/releases/download/v4.18.0/v2ray-linux-64.zip
# 这是Linux64位系统的客户端,不是的话请自行到官网查找。
sudo wget https://install.direct/go.sh
# 这是一键安装脚本
sudo bash go.sh --local ./v2ray-linux-64.zip
# 安装v2ray
sudo cp config.json /etc/v2ray/config.json
# Ubuntu内客户端和服务端共用同一个配置文件,所以需要复制配置文件,
# 但是最新版本这一步不需要了,因为脚本已经帮您复制好了
sudo chmod 777 /etc/v2ray/config.json
# 给予配置文件读写权限
sudo gedit /etc/v2ray/config.json
# 打开你的配置文件- 接下来就要用到一开始在Win10那边生成的文件了,Ubuntu是直接可以读写Win10那边的文件的真是太好了,不用重启一次。
把Win10
那边的config.json
文件内容全部拷贝过来,覆盖到/etc/v2ray/config.json
内1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107//以下是我的配置文件。
{
"log": {
"access": "",
"error": "",
"loglevel": "warning"
},
"inbounds": [
{
"port": 10808,
// 记牢这个端口号,这是服务器端口号
// 一会在浏览器插件上配置也是用这个
"listen": "127.0.0.1",
"protocol": "socks",
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls"
]
},
"settings": {
"auth": "noauth",
"udp": true,
"ip": null,
"clients": null
},
"streamSettings": null
}
],
"outbounds": [
{
"tag": "proxy",
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "plus.jiyou.fun",
"port": 8080,
"users": [
{
"id": "********-****-****-****-************",
//这个是服务商提供的UUID,因为是等效于唯一识别码的,所以就加密一下了
"alterId": 0,
"email": "t@t.tt",
"security": "auto"
}
]
}
],
"servers": null,
"response": null
},
"streamSettings": {
"network": "ws",
"security": "",
"tlsSettings": {
"allowInsecure": true,
"serverName": null
},
"tcpSettings": null,
"kcpSettings": null,
"wsSettings": {
"connectionReuse": true,
"path": null,
"headers": {
"Host": "box.10155.com"
}
},
"httpSettings": null,
"quicSettings": null
},
"mux": {
"enabled": true
}
},
{
"tag": "direct",
"protocol": "freedom",
"settings": {
"vnext": null,
"servers": null,
"response": null
},
"streamSettings": null,
"mux": null
},
{
"tag": "block",
"protocol": "blackhole",
"settings": {
"vnext": null,
"servers": null,
"response": {
"type": "http"
}
},
"streamSettings": null,
"mux": null
}
],
"dns": null,
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": []
}
} - 在chrome的SwitchyOmega插件上,选项里新建情景模式,我命名为proxy
具体配置是这样的:其中
10808
是我的服务器端口,见上文配置文件config.json
内的注释。127.0.0.1
则是本地的IP地址。
打开terminal记得在浏览器里把情景模式设置为1
2
3
4service v2ray start #启动v2ray
service v2ray status #查看v2ray状态
service v2ray stop #停止v2ray,不过一次配置以后一直是开机启动的。
service v2ray restart #重启v2ray,修改配置文件后重启一下v2rayauto switch
,这样浏览器会自动选择是直接连接还是代理
Clash是一个Go语言开发的多平台代理客户端,提供网页控制面板进行节点操作。某种意义上能在全平台上实现GUI面板。本节教程还不全面。可以自己继续探索。
- 下载Clash
我下载的是clash-linux-amd64-v1.2.0.gz
,下载后建议重命名为clash.gz。 - 安装clash会新建
1
2
3
4
5
6# 解压下载的文件
sudo gunzip clash.gz
# 授予权限
chmod +x clash
# 运行
./clash~/.config/clash
文件夹,里面有config.yaml
,此时config.yaml
应当为空文件,这个文件一般的商家会提供,如果没有,就按以下命令创建将生成的1
2# 添加订阅链接
sudo curl Clash托管链接 >> config.yamlconfig.yaml
替换~/.config/config.yaml
打开config.yaml文件,开头类似如下结构。1
2
3
4
5
6
7
port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: silent
external-controller: 0.0.0.0:9090 设置代理
设置->网络->网络代理->手动,进行相关配置。运行
启动
1
2
3
4# 建议管理员身份
clash
# 后台运行可以执行
clash -d .
选择节点
打开Clash Dashboard,选择节点与代理模式(如出现控制面板无法打开的情况,请将下一步中的系统代理设置为禁用 [Disabled])。
添加自动订阅
有些服务商并没有提供自动订阅功能。具体配置方案详情可以参阅:Clash自动更新订阅配置。
不过按说应该一开始就选择有自动订阅功能的服务商啊。恢复正常上网
关闭Clash程序,这时无法正常上网,需要把网络代理设置为禁用,才可以正常上网。
而运行Clash上网,则需要再次开启网络代理。
jetbrain全家桶安装
这个就不得不说jetbrain大法好了,直接到官网下载jetbrain toolbox
然后就能像在creative cloud上安装adobe全家桶一样方便的在Ubuntu上安装jetbrain全家桶了。
常用的有
- Python: Pycharm Professional
- Java:Idea Ultimate
- C/C++:Clion
- Android:Android Studio
需要免费使用的可以去申请一下学生账号资格jetbrain 学生产品
安装Atom
Atom作为一个代码查看器实在是碾压sublime,具体活用方案可以参考这篇教程:Atom插件安装和推荐
从 Atom官网 或者上方的Atom github仓库的Releases下载deb安装包。然后使用以下指令安装。
1 | sudo dpkg -i atom-amd64.deb |
常用软件
基于wine的通讯软件和下载软件
不管是微信,qq,tim还是随便什么,反正先安装deepin-wine。
- 在download文件夹内打开terminal下载好以后进入该文件夹运行
1
2git clone https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git
# 这是国内镜像,快速一点1
2
3
4
5
6sudo ./install.sh
# 如果出错,运行
sudo apt-get update
sudo apt-get install -f
# 修复依赖关系后建议重新安装一遍
sudo ./install.sh - 以下是几个常用软件,下载deb文件后用
sudo dpkg -i 包名.deb
安装即可
输入法
搜狗输入法有bug,偶尔会出现中文乱码,但还是习惯这个,没办法的事情。
访问sogou input for linux并下载安装包,使用sudo dpkg -i 包名.deb安装。
打开设置,语言选项,按
manager installed language
选项。
肯定会出错,没关系,打开terminal1
2sudo apt-get update
sudo apt-get install -f可能需要多试几次。不报错了,再安装一遍搜狗输入法。
然后在语言管理界面把键盘输入法系统改为fcitx
。
重启以后把搜狗输入法添加进去即可。推荐搜狗输入法皮肤
科技透明极简可能遇到中文乱码bug
执行以下命令移除输入法配置文件然后重启即可。1
2cd ~/.config
rm -rf SogouPY* sogou*
gnome插件
推荐的gnome插件,楠皮就写得很完善了,就当帮他引流了。GNOME-SHELL拓展
插件拓展支持
先安装一下插件拓展支持,虽然火狐也可以装插件,不过这个时候你一定可以使用chrome了。
1 | sudo apt-get install chrome-gnome-shell |
浏览器插件拓展支持
除此之外,你还需要安装浏览器插件拓展支持。
在google应用商店下载
推荐的插件
然后是推荐的插件(看不懂的话,右键google网页翻译),
不得不说我当初就是因为这些丰富的插件才陷入Ubuntu不能自拔的。
遇到的bug(不定时更新)
开机卡在登录界面进不去桌面。
但可以打开命令行界面。也可以进入recovery界面。
不跟他废话,你敢故障我就敢重装你。当然,这里小打小闹重装一下桌面就好。
长按开机键强制重启,在grub启动页选择Ubuntu高级选项
,从recovery模式
启动。也可以按Alt+Ctrl+F1
进入命令行界面操作。我是推荐命令行的,虽然我本人是图形界面重度患者。
卸载Xwindows软件
1 | sudo apt-get autoremove ubuntu-desktop |
重新安装所有依赖软件
1 | sudo apt-get install ubuntu-desktop |
重启
1 | sudo reboot |
20190409:最新的发现是貌似是在寝室使用的时候把主屏幕设置为外接显示器导致的,具体原理还在探索,以上方法治标不治本的。只能是养成好习惯,每次离开寝室的时候把主屏幕设置为内置显示器吧。
20190410:最新的解决方法,氪金,在某宝上下载一个HDMI接口显卡欺骗器。大小和U盘差不多。虽然人家的初衷不是为了解决这个问题的,但是亲测竟然意外的好用。看遇到相同问题的朋友基本都是应为linux虚拟机或者linux系统的问题,推测是现有的linux内核或者开源的xrog显卡存在一些机型不兼容的问题
触摸板失灵,无法使用。
Z2的触控板是满足I2C_HID接口要求。
而linux 现在已经支持I2C_HID.。
只是18.04的早期内核有BUG,所以无法用。
但该BUG在4.18.15版本以后的内核版本中已经修复.
所以,只要升级内核到4.18.15以上版本就能支持.
Ubuntu 内核历史版本
下载最新版本的内核文件即可。
比如我就是这四个文件
1 | sudo wget linux-headers-5.1.0-050100rc3_5.1.0-050100rc3.201904010618_all.deb |
Win10和Ubuntu时间不同步
在Ubuntu下输入以下三行命令
1 | sudo apt-get install ntpdate |