重回 Ubuntu 桌面
2016-06-05更新: 加入 硬件监控 内容
本文讲的是 Ubuntu 桌面。在服务器环境,当然我一直使用的都是 Linux 。公司的服务器是 CenOS ,自己的服务器用 Ubuntu。为了练手,用一台旧 Notebook 装了 ArchLinux 折腾着玩。
2010年,我使用了半年的 Ubuntu 桌面来办公,还写了一个 抛弃 Windows ,用 Ubuntu 办公 系列。经过这半年的测试,我认为,Ubuntu 已经完全可以满足办公的需求。
后来,我抛弃了 Office Boy 的工作,开始程序员生涯,桌面系统重新用回了 Windows 。
接下来的2年多时间里,我主要使用 cygwin 和 MinGW 在 Windows 下工作。
2012年,由于从页游开发转向手游开发,我开始使用 Mac OS X 系统。OS X 与 Linux 同源,因此上手非常快。但由于极其讨厌 Finder 的垃圾设计,自己内心一直抵触使用 OS X 。
2013年,我的主要技术转向 cocos2d-x ,我不得不开始使用 XCode 和 Objective-C ,这样,就必须在 OS X 下工作了。
于是,在公司,我同时使用一台 Mac Mini 和一台 PC 开发。在家里,常用的设备目前是这样的:
- 一台 Windows 8 PC
- 一台 Windows 7 Notebook
- 一台 Windows 8 平板电脑
- 一台 Android 平板电脑
- 一部 Android 手机
- 一部 iPhone 手机
- 一部 iPod 设备
以前,对于我来说,必须使用 Windows 主要有这样几个考虑:
- 网上银行;
- QQ;
- 网盘客户端;
- Flash。
而现在,前三者都已经可以使用手机 App 替代了,何况我工作之外的时间已经不再使用QQ。而 Flash ? 再见了 。
另外,即使我的主 PC 不再是 Windows ,碰到必须在 Windows 下面进行的操作(例如Andoid刷机?),也可以借助 Notebook 来进行。Windows 8 平板也能起到作用。
看起来我似乎已经不需要 Windows 了。但由于主系统是 AMD 平台,安装黑苹果十分折腾,也不愿意再折腾原来折腾过的 ArchLinux ,于是就安装了省事的 Ubuntu。
下面记录一些我调整系统的过程。毕竟把系统调整到我的习惯,也是一件麻烦事。
1. 环境
1.1 shell
一直用的是 zsh。这个最简单了,安装 oh-my-zsh 即可,Linux/OS X/cygwin/MinGW 都通用。
1.2 服务管理器
sysv-rc-conf 这个最好用了。
2. 梯子
2.1 shadowsocks
以前在 Ubuntu 上搭建 shadowsocks 是作为服务端,这次则是作为客户端使用。shadowsocks 客户端自己就支持 daemon 模式,加上 -d
参数就可以了:
1# 启动本地服务器(daemon模式)
2sudo sslocal -s your_server_ip -p your_server_port -l your_local_port -k your_password -d start
3# 停止本地服务器
4sudo sslocal -s your_server_ip -p your_server_port -l your_local_port -k your_password -d stop
当然,也可以先创建一个配置文件 sudo vim /etc/shadowsocks.json
:
1{
2"server":"your_server_ip",
3"server_port":your_server_port,
4"local_port":your_local_port,
5"password":"your_password",
6"timeout":300,
7"method":"aes-256-cfb",
8"fast_open":true
9}
然后使用配置文件来启动,这就简单许多了:
1sudo sslocal -c /etc/shadowsocks.json
2.2 supervisor
我更喜欢使用 supervisor 来控制 shadowsocks。先创建一个配置文件:
1sudo vim /etc/supervisor/conf.d/shadowsocks.conf
内容如下:
1[program:shadowsocks]
2command=sslocal -c /etc/shadowsocks.json
3autostart=true
4startsecs=10
5startretries=10
然后重载 supervisor :
1sudo supervisorctl reload
2# Restarted supervisord
查看当前的状态,可以看到 shadowsocks 已经在运行了:
1sudo supervisorctl status
2# shadowsocks STARTING
2.3 proxychains
如果要在命令行下也使用 shadowsocks ,那么可以借助 proxychains 。
proxychains 的系统配置文件位于 /etc/proxychains.conf
,为了方便修改,我选择创建一个自己的配置文件,这个配置文件在读取的时候优先于系统配置文件:
1vim ~/.proxychains/proxychains.conf
内容如下(可以打开系统配置文件进行参考):
1strict_chain
2proxy_dns
3remote_dns_subnet 224
4tcp_read_time_out 15000
5tcp_connect_time_out 8000
6localnet 127.0.0.0/255.0.0.0
7quiet_mode
8
9[ProxyList]
10socks5 127.0.0.1 your_local_port
然后做个测试:
1proxychains wget twitter.com
2
3ProxyChains-3.1 (http://proxychains.sf.net)
4--2015-04-04 21:18:39-- http://twitter.com/
5Resolving twitter.com (twitter.com)... 199.59.148.10
6Connecting to twitter.com (twitter.com)|199.59.148.10|:80... connected.
7HTTP request sent, awaiting response... 301 Moved Permanently
8Location: https://twitter.com/ [following]
9--2015-04-04 21:18:40-- https://twitter.com/
10Connecting to twitter.com (twitter.com)|199.59.148.10|:443... connected.
11HTTP request sent, awaiting response... 200 OK
12Length: 59703 (58K) [text/html]
13Saving to: ‘index.html’
14
15100%[============================================================>] 59,703 163KB/s in 0.4s
16
172015-04-04 21:18:42 (163 KB/s) - ‘index.html’ saved [59703/59703]
3. 按键绑定
我习惯把 CapsLocks 变成 Control L 。因为大写锁定键本来就没有什么作用。在Windows下,有许多软件 做这件事,
在 Linux Mint 17 中,键盘的布局设置中,提供了选项来调整键盘布局。
而在 Ubuntu 下,12.04 之前系统设置中就可以互换,之后的版本中,这个功能就消失了。
可以使用这样几种方法来搞定。
3.1 使用 xmodmap
编辑下面的内容,保存为 ~/.xmodmap
:
1remove Lock = Caps_Lock
2keysym Caps_Lock = Control_L
3add Control = Control_L
然后在 ~/.zshrc
中加入 xmodmap ~/.xmodmap
即可。
3.2 使用 setxkbmap
这种方法来自于这里: CapsLock Remap Howto :
直接在 ~/.zshrc
中加入 setxkbmap -layout us -option ctrl:nocaps
即可。
3.3 问题
上面的两种方法,都有一个很大的缺点,那就是:
- 切换 tty 的时候失效;
- 屏幕锁定后解锁失效。
虽然失效后可以再次执行上面的命令来恢复,但毕竟太麻烦,下面的几个方法就没有这个问题了。
3.4 XKeyCaps
XKeyCaps 是一个可视化调整键盘映射的软件。具体功能可自行研究。
3.5 gnome-tweak-tool
这个 GUI 软件界面有些 BUG ,但可用。
3.6 dconf
使用 dconf 来永久改变键映射,而且立即生效。
首先可以使用 read 子命令来查看当前的映射:
dconf read /org/gnome/desktop/input-sources/xkb-options
例如我的值就是:
['esperanto:qwerty']
然后可以使用 write 子命令来设置当前的映射,为了避免影响原来的映射,可以把原来的映射的选项加在设置的前面:
dconf write /org/gnome/desktop/input-sources/xkb-options "['esperanto:qwerty','ctrl:nocaps']"
使用 man xkeyboard-config
查看所有的选项。例如,如果只是希望将 CapsLock 与 Control L 互换,则可以使用 ctrl:swapcaps
这个值。
┌──────────────────────────────────────────────┐
│Option Description │
├──────────────────────────────────────────────┤
│ctrl:nocaps Caps Lock as Ctrl │
│ctrl:lctrl_meta Left Ctrl as Meta │
│ctrl:swapcaps Swap Ctrl and Caps Lock │
│ctrl:ac_ctrl At left of 'A' │
│ctrl:aa_ctrl At bottom left │
│ctrl:rctrl_ralt Right Ctrl as Right Alt │
│ctrl:menu_rctrl Menu as Right Ctrl │
│ctrl:ctrl_ralt Right Alt as Right Ctrl │
│ │
└──────────────────────────────────────────────┘
4. 应用软件
麒麟 操作系统的生态圈开发了许多软件,在 Ubuntu 下直接可用。
5. wine 中文乱码
有个 Windows 软件我是必须要使用的,那就是用了10年的 Acemoney ,这个软件仅有 Windows 版本。这种情况,就只能上 wine 了。
首先加入 ppa 的源,安装最新的 wine1.7
1sudo add-apt-repository ppa:ubuntu-wine/ppa
2sudo apt-get update
3sudo apt-get install wine1.7
wine 中的中文软件界面一如既往地出现了乱码,在注册表中替换字体都没用。 Wine的中文显示与字体设置 中提到的一句话启发了我:
注意字无法显示和显示为乱码是不同的症状,如果看到乱码,请确保系统语言和运行Wine时的语言环境一致。如果有汉字丢失或显示为方框,请继续阅读本文。
而我的软件界面中似乎每个字符都可以显示,而我的语言环境的确设置的是 en_us.UTF-8
,这和 Acemoney 中显示的中文是不一样的。因为 ubuntu 在英文环境下可以正常显示中文,因此我就没有将系统设置成中文界面。再说了,git 的提示等信息,看中文还的确怪不习惯的。
于是将系统语言改为中文,重新登出一次,Wine中的中文就显示正常了。
「手把手」告別你的Wine中文亂碼-Wine二部曲 一文也是比较靠谱的,可以参考。
6. 输入法
自带的 Pinyin 就已经很好用了,支持双拼,且支持自定义词组,输入时间和日期都非常方便。
唯一不爽的是,rq 输出的日期是类似于 2015-4-6
这种形式,而我需要 2015-04-06
这种形式。这只需要编辑自定义词组即可。编辑完后,使用下面的代码重启 ibus 即可使用:
1killall ibus-daemon
2ibus-daemon -d
7. 配置工具
除了上面提到的 gnome-tweak-tool 之外,还有几个配置工具是可以用的:
8. 硬件监控
使用 Psensor 来监控CPU和主板温度。首先安装 lm-sensors :
1sudo apt-get install lm-sensors
然后运行:
1sudo sensors-detect
这会询问一堆问题,直接使用默认的回答(回车)即可。然后运行 sudo sensors
可以看到数据(下面是我的电脑):
1radeon-pci-0008
2Adapter: PCI adapter
3temp1: +24.0°C (crit = +120.0°C, hyst = +90.0°C)
4
5k10temp-pci-00c3
6Adapter: PCI adapter
7temp1: +39.6°C (high = +70.0°C)
8 (crit = +70.0°C, hyst = +69.0°C)
接下来安装 Psensor ,配置一下就能显示出界面了。
1sudo apt-get install psensor
硬盘温度的检测,需要安装 hddtemp :
1sudo apt-get install lm-sensors hddtemp
然后使用下面的命令查看硬盘温度:
1sudo hddtemp SATA:/dev/sda
2# /dev/sda: ADATA SP600: 36°C
3
4sudo hddtemp SATA:/dev/sdb
5# /dev/sdb: WDC WD10EARS-00Y5B1: 41°C
9. 其它
- 文章ID:2262
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/return-to-ubuntu/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。