昨天将ubuntu从14.04升级到16.04,中途报了一堆错,而且装完之后每次开机都显示系统错误
虽然这不影响使用,但是身为强迫症的我,将一些资料备份后,果断重装
然后发现一堆配置忘记了,又要重新上网搜,为了避免这种情况再次出现
本备忘录诞生了
ps:很多在Ubuntu14.04里要额外配置的东西在16.04里都不用了~(≧▽≦)/~
Contents
- Ubuntu & Windows 双系统
- 分区
- 把CapsLock(大小写锁定键)重映射为Ctrl(控制键)
- 设置Ubuntu桌面外观
- 把主目录下的个人文件夹改成英文名
- ubuntu时间与windows差8小时
- 开启休眠功能
- 使用mentohust自动连接校园网
- Firefox使用Axel、aria2下载
- Firefox使用本地服务器进行同步
- Firefox使用shadowsocks上网
- Firefox的附加组件及油猴子的脚本
- 搜狗输入法候选框无内容输不了中文
- 开机自动挂载Windows分区
- 让Vim可以访问系统粘贴板
- 使WebStorm可以输入中文
- 添加rmtrash命令
- 添加Eclipse的快捷方式
- 释放root分区
- bash开启VI模式
- 自定义bash的命令行提示
- pdflatex提示缺少中文字体
Ubuntu & Windows 双系统
详见我的另一篇博客:
分区
挂载点 | 大小 | 备注 |
---|---|---|
swap | 10GB | 如果要用”休眠“这个功能,则swap分区应比物理内存大 |
/root | 1GB | 安装系统时“安装启动引导器的设备”选这个 |
/home | 50GB | 用户个人数据独立分区 |
/ | 50GB |
其实随意就好。。。
把CapsLock(大小写锁定键)重映射为Ctrl(控制键)
直接运行
setxkbmap -option ctrl:nocaps
不过重启后会失效,故改为:
echo 'setxkbmap -option ctrl:nocaps' >> ~/.xsessionrc
或者:
dconf write /org/gnome/desktop/input-sources/xkb-options "['ctrl:nocaps']"
重启
(如果把
ctrl:nocaps改为
ctrl:swapcaps ,则会交换这两个键)
设置Ubuntu桌面外观
首先安装ccsm和unity-tweak-tool
sudo apt install compizconfig-settings-manager unity-tweak-tool
按
<Super>打开启动器,输入
ccsm和
tweak即可打开
然后XJB改吧,比如:
- 把启动器放到下面
- 改图标主题
- 设置多工作区
- 设置3D桌面
把主目录下的个人文件夹改成英文名
执行以下命令
1 2 3 |
export LANG=en_US xdg-user-dirs-gtk-update export LANG=zh_CN |
重启,选择“以后不再询问”+“保留旧名字”
记得手动转移文件夹的内容
ubuntu时间与windows差8小时
原因
ubuntu默认写进CMOS的时间是0时区的
windows默认写进CMOS的时间是当地时区的
解决方法
首先调好ubuntu的时间
然后让ubuntu写当地时区的时间进CMOS:
sudo hwclock --localtime --systohc
开启休眠功能
首先要区分下面这两个东西:
- 睡眠/挂起:内存保持通电,断开大部分设备的电,可快速恢复
- 休眠:内存的数据保存到硬盘后断电,断开绝大部分设备的电,恢复时需要从硬盘恢复内存的数据,故较慢
然后扔两个官方wiki就跑:
使用mentohust自动连接校园网
简介
mentohust支持锐捷、赛尔认证
与锐捷官方程序相比的优势:
- 不用插上线之后再手动用命令认证
- 不用关闭wifi和network-manager
安装
官方版在这,不过已经几年没更新了
不过因为某校的锐捷还在用V3心跳,所以我直接在上面下载的最hen新jiu版le还可以用
deb包直接双击就可以安装了(这很windows)
第一次运行需要执行
sudo mentohust,然后按提示初始化设置
之后运行只需要执行
sudo mentohust -b3,参数的意思是后台运行且把日志输出到文件
关闭该后台服务只需执行
sudo mentohust -k
开了mentohust之后,校园网可以随插随用
自启
要是再加上开机自启就完美了
最简单的做法是直接在
/etc/rc.local文件里加上
sudo mentohust -b3
不过通过
rc.local来开机自启这种做法已经很out了
时尚新潮流是写成一个专门的服务,再通过systemd管理
先创建这两个文件
1 2 3 4 5 6 7 8 9 |
#!/bin/bash case "$1" in start) mentohust -b3 ;; stop) mentohust -k ;; esac |
1 2 3 4 5 6 7 8 9 10 |
[Unit] Description=mentohust After=network.target [Service] Type=forking ExecStart=/etc/init.d/mentohust.sh start ExecStop=/etc/init.d/mentohust.sh stop Restart=on-failure [Install] WantedBy=multi-user.target |
最后开启这个服务 systemctl enable mentohust.service --now
Firefox使用Axel、aria2下载
介绍
aria2下载种子很快
Axel下载可以多线程,开100个线程,百度云限速都不用怕
实测非常快
安装
首先Firefox安装FlashGot插件
然后通过
apt安装uGet和aria2和Axel
sudo apt install uGet aria2 axel
然后在uGet的 设置->插件 里设置插件的调用顺序为:aria2+curl
在FlashGot里设置通过终端调用Axel
我这里用了terminator,也可以用gnome-terminal之类的
参数模板那里的关键部分是
-x axel -a -n 50 -S5 -o [FNAME] [URL]
使用
在Firefox里下载的时候,选择FlashGot,然后选择uGet/Axel++
Firefox使用本地服务器进行同步
原因
ubuntu默认装的Firefox是国际版的而不是中国版的
所以默认没有 “使用本地服务器进行同步” 这个中国特色功能
解决方法
装附加组件管理器这个插件
Firefox使用shadowsocks上网
shadowsocks服务端的配置
用pip安装shadowsocks
1 2 3 4 5 |
yum install epel-release yum update yum install python-setuptools git easy_install pip pip install git+https://github.com/shadowsocks/shadowsocks.git@master |
编辑shadowsocks的配置文件
vim /etc/shadowsocks.json
内容参照下面的模板,修改
server_port 和
password 部分
1 2 3 4 5 6 7 8 |
{ "server":"0.0.0.0", "server_port":555, "local_port":1080, "password":"123456", "timeout":600, "method":"aes-256-cfb" } |
防火墙开启对应端口
要把555修改为你的端口(刚刚的配置里的
server_port)
1 2 3 |
firewall-cmd --zone=public --add-port=555/tcp --permanent firewall-cmd --zone=public --add-port=555/udp --permanent firewall-cmd --complete-reload |
安装supervisor(用来托管ssserver)
yum install supervisor
编辑supervisord的配置文件
vim /etc/supervisord.conf
(添加的内容参照下面的模板)
1 2 3 4 5 6 7 |
[program:shadowsocks] command=ssserver -c /etc/shadowsocks.json autostart=true autorestart=true user=root stdout_logfile=/var/log/shadowsocks_out.log stderr_logfile=/var/log/shadowsocks_err.log |
让supervisord开机自动启动
systemctl enable supervisord.service --now
shadowsocks客户端的配置
(参考了这里和这里)
(下面假设为Ubuntu 16.04系统)
用pip安装shadowsocks
1 2 |
sudo apt install python-pip git sudo -H pip install git+https://github.com/shadowsocks/shadowsocks.git@master |
编辑shadowsocks的配置文件
sudo vim /etc/shadowsocks.json
内容参照下面的模板,修改
server ,
server_port 和
password 部分
1 2 3 4 5 6 7 8 |
{ "server":"111.222.333.444", "server_port":555, "local_port":1080, "password":"123456", "timeout":600, "method":"aes-256-cfb" } |
安装supervisor(用来托管sslocal)
sudo apt install supervisor
编辑supervisord的配置文件
sudo vim /etc/supervisor/supervisord.conf
(添加的内容参照下面的模板)
1 2 3 4 5 6 7 |
[program:shadowsocks] command=/usr/local/bin/sslocal -c /etc/shadowsocks.json autostart=true autorestart=true user=root log_stderr=true logfile=/var/log/shadowsocks.log |
让supervisord开机自动启动
sudo systemctl enable supervisor.service --now
在Firefox上安装并配置好FoxyProxy
Firefox的附加组件及油猴子的脚本
搜狗输入法候选框无内容输不了中文
(经观察,在更新内核后会出现这个现象)
曾经为这个问题重装过,万万没想到,其实解决方法很简单:
rm -rf ~/.config/SogouPY
等几分钟
开机自动挂载Windows分区
(参考了这里)
查看系统的磁盘代号
sudo fdisk -l
查看磁盘分区的UUID
sudo blkid
修改自动挂载的配置文件
在
/etc/fstab 里加上
(添加的内容参照下面的模板)
1 2 3 4 5 |
#windows UUID=A41098E81098C2AA /media/C ntfs defaults 0 0 UUID=1AFE3774FE374773 /media/D ntfs defaults 0 0 UUID=00DA5C56DA5C49D4 /media/E ntfs defaults 0 0 UUID=8EF85EDDF85EC35F /media/F ntfs defaults 0 0 |
让Vim可以访问系统粘贴板
执行以下命令
vim --version | grep clipboard
If you see “+xterm_clipboard”, you are good to go.
If it’s “-xterm_clipboard”, you will need to look for a version of Vim that was compiled with clipboard support.
1 |
sudo apt-get install vim-gtk |
copy
"+y will copy to the “usual” clipboard buffer – you can paste using Ctrl+V.
"*y will copy to the X11 selection – you can paste from this buffer using middle click.
paste
把上面的复制命令里的y改成p,中键粘贴也支持了
使WebStorm可以输入中文
(参考了这里)
在 <WebStorm安装目录>/bin/webstorm.sh 里找到
1 2 3 |
# --------------------------------------------------------------------- # Run the IDE. # --------------------------------------------------------------------- |
在其上面添加
1 2 |
XMODIFIERS="@im=fcitx" export XMODIFIERS |
添加rmtrash命令
原因
手抖rm -rf误删之后只能呵呵了,所以我们需要回收站
Ubuntu确实有回收站,可是没有对应的命令行操作,于是只能自己装了
解决方法
1 2 |
sudo apt install python-setuptools sudo easy_install trash-cli |
然后装rmtrash
1 2 |
sudo wget -P /usr/local/bin https://github.com/PhrozenByte/rmtrash/raw/master/rmtrash https://github.com/PhrozenByte/rmtrash/raw/master/rmdirtrash sudo chmod +x /usr/local/bin/rmtrash /usr/local/bin/rmdirtrash |
不要像他那样直接
alias rm='rmtrash' (原因可以看这里)
相反,我们要在
~/.bashrc 里加上
1 2 3 |
# rmtrash alias del=rmtrash alias rm='echo -e "Please use \033[32mdel\033[0m or \033[32mrmtrash\033[0m instead!\nIf you are removing files without hope, you can use \033[31m\\\rm\033[0m instead!"; false' |
之后,愉快地用 del 吧,支持rm的全部参数
添加Eclipse的快捷方式
(所以不要用Eclipse了,用IntelliJ IDEA吧)
在 /usr/share/applications/ 里添加 eclipse.desktop 文件
1 2 3 4 5 6 7 8 9 10 |
[Desktop Entry] Name=Eclipse Type=Application Exec=env SWT_GTK3=0 /opt/eclipse/eclipse Terminal=false Icon=/opt/eclipse/icon.xpm Comment=Integrated Development Environment NoDisplay=false Categories=Development;IDE; Name[en]=Eclipse |
释放root分区
原因
升级了系统后,旧的系统内核会留在/root/里,久而久之就会使root分区空间不足
进而使linux-generic等配置失败,进而使apt install无法使用
解决方法
(参考了这里)
显示所有已安装的内核
dpkg -l linux-image-\* | grep ^ii
显示所有可删除的内核
1 2 |
kernelver=$(uname -r | sed -r 's/-[a-z]+//') dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve $kernelver |
删除所有不需要的内核
1 |
sudo apt-get purge $(dpkg -l linux-{image,headers}-"[0-9]*" | awk '/ii/{print $2}' | grep -ve "$(uname -r | sed -r 's/-[a-z]+//')") |
bash开启VI模式
(更推荐zsh装上vi-mode插件)
在 ~/.inputrc 中添加
1 |
set editing-mode vi |
自定义bash的命令行提示
在 ~/.bashrc 里添加
1 2 3 4 5 6 7 8 9 10 11 12 |
function prompt { local WHITE="\[\033[1;37m\]" local GREEN="\[\033[0;32m\]" local CYAN="\[\033[0;36m\]" local GRAY="\[\033[0;37m\]" local BLUE="\[\033[0;34m\]" export PS1=" ${GREEN}\u${CYAN}@${BLUE}\h ${CYAN}\w${GRAY} $ " } prompt |
pdflatex提示缺少中文字体
例子
pdfTeX error: pdflatex (file simhei.ttf): cannot open TrueType font file for reading
原因
tex里用了
ctex和
fontset=windows
然而你的linux里没有windows的字体
解决方法
把字体从windows复制进linux里就好了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# 用了sudo安装texlive导致后面的mktexlsr命令无权限修改安装目录 # 故直接修改安装目录的所有者(要把gou4shi1改为自己的用户名) sudo chown -R gou4shi1:gou4shi1 /usr/local/texlive # 进入安装字体的地方 mkdir /usr/local/texlive/texmf-local/fonts/truetype cd /usr/local/texlive/texmf-local/fonts/truetype # 我事先把windows的C盘挂载到了/media/C上 # 直接把全部sim字体都复制过来 cp /media/C/Windows/Fonts/sim* ./ # 如果是UbuntuKylin,windows字体还在/usr/share/fonts/windows-fonts里 #cp /usr/share/fonts/windows-fonts/* ./ # 安装字体的套路 mkfontscale mkfontdir # 给texlive添加字体用下面这个命令 mktexlsr # 如果是给系统添加字体则用下面这个命令 #sudo fc-cache -fv |
你是装虚拟机还是双系统还是直接用的Linux?
双系统
666,我自从去年在虚拟机装完后弄了两下就没管了,惭愧o(︶︿︶)o
所以说装到虚拟机里就不会再开了
双系统才是王道
对于我来讲可能要单Linux才行,双系统的话每次在选择系统的时候估计总会对着windows按ENTER键0_0“”
啧,贼赞
其实我是Windows、Ubuntu、macOS三系统(逃
本来想出篇教程的,不过安装系统这东西太依赖具体机器了
不同电脑不同环境装三系统都是不同的新世界,还是算了