如何从Windows到Ubuntu(不动声色的变迁)

(编辑:jimmy 日期: 2024/11/15 浏览:2)

Ubuntu版本

12.04 LTS

下载与安装
官网,下载.iso镜像后,可以刻光盘,也可以刻U盘

中文输入-ibus
推荐 ibus-pinyin,并默认调整为"半角"输入

sudo apt-get install ibus-pinyin

gedit工具支持中文
在Open打开文件的时候,注意左下脚有个"Character Encoding",点击后, 可以在此添加GBK,GB2312等字符集支持.

vpn设置

公司内的wiki已经有很多文章介绍了.在此就不在赘述.注意两点:

1、配置文件

vim /etc/vpnc/default.conf
IPSec gateway xxxx.com IPSec ID             #ID
IPSec secret         #组密码
Xauth username xxxx

2、执行
sudo vpnc
输入token认证,完成后,执行route -n查看是否有很多路由信息,存在的话,就证明连接成功了.

keepass(保存密码)

设置软件源
keepass

修改文件: /etc/apt/sources.list
Display sources.list entries for: Choose your Ubuntu version Precise (12.04)
deb http://ppa.launchpad.net/jtaylor/keepass/ubuntu precise main deb-src http://ppa.launchpad.net/jtaylor/keepass/ubuntu precise main

Meld Diff Viewer(代码比对)

Thunderbird(邮件收发)

最常出问题的地方(供参考):

Server Type: IMAP Mail Server
Server Name: xxx
Port: 143
Security Settings
Connection security: STARTTLS
Authentication method: Normal password
SMTP Server

Description: 随意填写

Server Name: xxx
Port: 25
Security and Authentication
Connection security: STARTTLS
Authentication method: Normal password
User Name: xxxx
mkpasswd.pl(生成随机密码)
CentOS系统下的mkpasswd命令,在Ubuntu系统下,改为mkpasswd.pl

mkpasswd.pl -s 0 -l 16

Oracle VM Virtualbox(虚拟机)

1、U盘

使用lsusb命令把设备信息查出来# lsusb
...
Bus 002 Device 007: ID 12d1:0001 Huawei Technologies Co., Ltd.

依次选择Machine-Settings-USB

Name:       Z
Vendor  ID: 12d1
Product ID: 0001
...

剩下的不需要填写

2、调整虚拟文件大小

vboxmanage modifyhd VirtualBoxVMs/win7_x64/win7_x64.qed --resize 3000
0%...
Progress state: VBOX_E_NOT_SUPPORTED

只能扩大,不能减小,否则会报错.
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

LibreOffice 4

参考 http://askubuntu.com/questions/252612/how-do-i-install-libreoffice-4


复制代码代码如下:
sudo add-apt-repository ppa:libreoffice/libreoffice-4-1
sudo apt-get update
sudo apt-get dist-upgrade</p> <p>sudo apt-get install libreoffice


工具优化三部曲

想知道如何实现主机名自动补全吗?如何在本地就可以"直接"连线上服务器吗?如何在本地"直接"连线上MySQL吗?
请仔细查看该部分内容

自动补全主机名

bash-completion
在ubuntu中安装bash-completion工具,就可以实现一些基本命令的主机名自动补齐,比如ssh, rsync等.

1、deb包安装
sudo apt-get install bash-completion

2、编译安装
从官网下载最新的release版本,注意不要从git下载,有可能文件不全,导致安装失败.
修改~/.profile文件,写入如下内容: [[ $PS1 && -f /usr/local/share/bash-completion/bash_completion ]] && \
    . /usr/local/share/bash-completion/bash_completion


3、开始编译安装


复制代码代码如下:
./configure
make
make check # optional, requires dejagnu and tcllib
make install # as root

4、文件验证
查看是否存在该文件:/usr/local/share/bash-completion/bash_completion
注意:

补齐的主机名默认来源是~/.ssh/known_hosts文件
需要将/etc/ssh/ssh_config或者~/.ssh/config中的HashKnownHosts设置为no

自动登录主机

说明

关于自动登录主机的问题,wiki已经有很多相关的文章了,我这里介绍的方法,优缺点如下(输入token是必须的):

优点: 不需要本机生成无passphrase的私钥/公钥对,也不需要通过跳板机把公钥传到每台服务器上
缺点:

需要把跳板机上面的私钥复制到本地
打开终端,设置为"a login shell"模式
需要修改/创建的文件如下

~/master #用户放共享通道文件,例如
~/.profile #profile配置文件
~/.ssh/config #ssh配置文件
~/bin/ssh-add-pass # 判断ssh-agent,并自动输入passphrase
~/bin/passfile # 存放passphrase的密码文件
~/bin/ssh-attach # 判断ssh-agent,设置环境变量

注意:mac本的ssh-agent命令生成文件不在/tmp目录下,需要根据实际情况略做修改.

详细配置过程
配置本地的.profile文件(CentOS为.bash_profile),追加如下内容


复制代码代码如下:
# Auto-passphrase
~/bin/ssh-add-pass ~/bin/passfile
eval $(~/bin/ssh-attach)

ssh配置文件:
位置: ~/.ssh/config
内容:

复制代码代码如下:
Host *
User xxxx
Port 22
PreferredAuthentications publickey,password,gssapi-with-mic,hostbased,keyboard-interactive
StrictHostKeyChecking no
HashKnownHosts no</p> <p>Host *.xxx.com
ServerAliveCountMax 6
ServerAliveInterval 300
ControlMaster auto
ControlPath ~/master/master-%h
ControlPersist yes

ssh-add-pass


复制代码代码如下:
#!/bin/bash</p> <p># reference:
# <a href="http://stackoverflow.com/questions/13033799/how-to-make-ssh-add-read-passphrase-from-a-file">http://stackoverflow.com/questions/13033799/how-to-make-ssh-add-read-passphrase-from-a-file</a> if [ $# -ne 1 ] ; then
echo "Usage: ssh-add-pass passfile" exit 1
fi
pass=$(cat $1) for SSH_AUTH_SOCK in /tmp/ssh-*/agent.*; do if [ -S $SSH_AUTH_SOCK ]; then
# ssh-add -l &>/dev/null && echo export SSH_AUTH_SOCK=$SSH_AUTH_SOCK
# $(export SSH_AUTH_SOCK=$SSH_AUTH_SOCK)
exit 0 else eval $(ssh-agent)
fi
done</p> <p># 这里的spawn后面接的私钥,只能使用绝对路径.否则会报找不到文件.
# spawn ssh-add xxx_rsa
expect << EOF
spawn ssh-add xxx_rsa</p> <p> expect "Enter passphrase" send "$pass\r" expect eof
EOF

passfile
密码文件
ssh-attach


复制代码代码如下:
#!/bin/bash</p> <p># reference:
# https://github.com/jianingy/trash/blob/master/tools/ssh-attach # find if ssh-add and ssh-agent exists for prog in ssh-add ssh-agent; do which $prog >/dev/null || exit
done for SSH_AUTH_SOCK in /tmp/ssh-*/agent.*; do [ -S $SSH_AUTH_SOCK ] && ssh-add -l &>/dev/null && echo export SSH_AUTH_SOCK=$SSH_AUTH_SOCK && exit 0
done</p> <p># try again by prompting user to input passpharses.
create_new_agent=1 for SSH_AUTH_SOCK in /tmp/ssh-*/agent.*; do if [ -S $SSH_AUTH_SOCK ]; then
create_new_agent=0
ssh-add xxx_rsa || continue ssh-add -l &>/dev/null && echo export SSH_AUTH_SOCK=$SSH_AUTH_SOCK && exit 0
fi
done</p> <p># create new ssh-agent and run again
# echo "no avaiable ssh-agent, starting a new one" >&2 if [ $create_new_agent -eq 1 ]
then
ssh-agent &>/dev/null exec $0 $@
fi</p> <p>exit 1</p> <p># vim: ts=4 sw=4 et ai

参考命令
显示所有的key
ssh-add -l
删除所有的key
ssh-add -D
删除所有的ssh-agent
killall ssh-agent

自动登录MySQL
核心:qmysql.py脚本

1、获取方法
git clone http://xxx
2、使用方法
把脚本放到~/bin目录下
 本地保存mysql密码
首次执行生成~/bin/qmysql.py生成~/.qmysql.ini文件,分别填上连接线上数据库的用户名/密码/线上主机的密码
3、修改~/.profile,增加自动主机名补全功能
意思是qmysql.py脚本的自动补全由_ssh函数完成.
# Auto-Comple
complete -F _ssh qmysql.py
3、使用
qmysql l-dbc 按tab自动补全 -P port, 默认3306

RTX
前言:
在Ubuntu下,用wine装的rtx真心不好用:

控制面板隐藏在最底层,如果设置为总是在最前,看其他窗口又不方便
聊天窗口,多个聊天窗口叠加在一起,也不知道哪个有新消息
查看历史的消息记录,直接报错退出
不同ubuntu版本安装rtx可能会遇到不同的问题,但是基本顺序都类似.我的安装过程如下:

1、设置软件源并安装wine


复制代码代码如下:
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine winetricks

2、安装依赖工具和库
winetricks msxml3 gdiplus riched20 riched30 vcrun6 vcrun2005sp1 vcrun6sp6 vb6run

在这期间报了一个错,如下:
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory
至于gnome-keyring-pkcs11.so这是个啥玩意,我也没搞清楚,总之是缺少,那么就去安装一个


复制代码代码如下:
# 下载(环境不同,版本可能不同)
apt-get download gnome-keyring:i386
# 解压
dpkg -x gnome-keyring_3.2.2-2ubuntu4.1_i386.deb gnome-keyring
# 复制文件
cp -r gnome-keyring/usr/lib/i386-linux-gnu/pkcs11/ /usr/lib/i386-linux-gnu/

3、安装rtx
wine rtxclient2012formal.exe

4、最后遇到一个报错,没记住...直接忽略了.

参考

复制代码代码如下:
https://forums.eveonline.com/default.aspx?g=posts&m=3532013
http://hi.baidu.com/wantonzone/item/5c3ac5679da8a8157cdecc7a
http://littlexiang.me/linux/install-wine-rtx-on-linux-x86_84.html


Tips
设置win + D键显示桌面

1、打开Dash Home或者终端
2、输入
gconf-editor
3、找到
apps -> metacity -> global keybingdings -> show desktop
把值改为d

FAQ

手贱把Desktop,Documents等目录删除了,如何恢复?
重新设置一下语言环境就可以恢复了.方法如下:
System-Settings -> Language-Support -> (Language for menus and windos) 把"汉语(中国)"拖到最上面
重新登录,系统会提示你是否更新文件夹命名.然后这些系统目录就"回来"了.
收尾工作:再把语言环境改回来.