Posts in category “Linux”

Vmware CentOS guest IP address automatically changed Isuse

今天天气不错,和太太儿子去 Bowenvale Walking Tracks 走了一个短途的hiking。回家路上前端同学报告说测试机出问题了,所有接口都不通了。于是到家赶紧排查问题。

网络环境

Host:Windows 10,Vmware Station Guest: CentOS 7.7 Bridge network

一开始以为是服务进程崩了。连上vpn发现机器都ping不通。哦看来虚拟机是被谁关掉了。远程桌面到Host机器一看....虚拟机活得好好的,并没有被关掉。用控制台登录进去一看,发现IP不是我们以前设定的IP,而是变成 172.18.开头的一个地址,这是我们误以为网络不通了的原因。

经过一番排查,发现故事应该是这样的:

CentOS机器的网络配置是 DHCP,因为网络是桥接的,因此只需要路由器上做点设置,根据CentOS机器网卡的Mac地址总是分配 192.168.178.52 这个IP给虚拟机就行了。我查看了路由器的设置,发现确实是这么设置的,虚拟机网卡的mac地址也没有变,看上去一切都很正常。不过这里有一个小小的细节,一开始我没有在意,但它可能是问题发生的始作俑者。

在登录公司路由器的时候,我没有直接进入设置界面,而是系统弹出一个提示框,说系统刚刚升级到某某版本,有一个引导界面走了好几步才进入路由器设置界面。

我先是修改CentOS的网络设置,把网络参数由 dhcp 改成 static,确保他总是使用 192.168.178.52 这个IP,也设置了默认路由,重启网络,发现修改生效了,IP地址现在是正确的了,但是却不能上网,内外不通。

那问题出在哪里呢?之前拿到的IP是172.18.x.x,这不是 Docker 喜欢用的IP段么?莫非和Docker 有关?我先是把 CentOS 虚拟机里的Docker 停掉....重启网络,依然固我。网还是不通。

我只好把关注点移到 Host 机器,硬件网卡,VMnet1, VMnet8, vEthernet (Default Switch)..... 慢,这个vEthernet 是什么鬼? 它的IP也是172.18.x.x的!网上搜索了一下,说这个东东应该是Docker添加的。对呀,我前几天刚好干过这个事情,在Windows 10 上安装了Docker,那时我是试图解决 Jenkins 不听话的问题。但因为这台Windows 10 主要是兄弟部门在用,怕Docker影响他们的业务,我的经理就赶紧把Docker卸掉了。

Docker都卸掉了,卸掉这个虚拟网络示配器料无大碍,于是我就尝试 uninstall it。系统提示发生了什么未知的错误,不让卸载。那就禁用它吧。禁用成功。再ping那个IP,网通了!

回头想想,CentOS机器的IP并非无缘无故就变了,我猜测应该是路由器自动升级,在那个短暂离线期间,CentOS的网络被我刚刚禁用的那个虚拟switch抢先接管了。本来应该由路由器固定分配 192.168.178.52 给那台机器,但路由器短暂弃权期间,这个过程被那个虚拟的switch示配器干扰,于是CentOS得到一个 172.18 开头的IP。

哎!Docker也真是的,你都已经被卸掉了,也不把自己带的东西清理干净。

很有意思的排错过程,记录下。

解决 ibus-rime 在 ubuntu 18.04 下中英文切换图标无变化问题

我忍受这个问题已经有快一个月了,今天打算花点时间把它解决掉。

经过一翻搜索,我发现已经有人在 ibus-rime 项目上报告了这个问题,也有人给出了解决方法。遗憾的是,那个解决方案有些含糊,我不知道需要对系统做哪些改变。

也许从源码安装能够解决问题?但我一开始走了弯路,没有认真安装文档中提到的所有依赖,毫无疑问的,编译到中间就因为缺这缺那失败了。后面我就老老实实的按照文档说明,先安装好所有的依赖,再执行 ./install.sh。然而我仍然可耻的失败了。我不知道原因....也许应该报个bug给作者。幸运的是,源码里还有一个 install-static.sh 脚本,我执行了这个脚本,结果顺利编译成功并安装。

现在我的五笔拼音也能够识别中英方式了(英文状态显示A,中文状态显示“五”),太开心了!

我是 ubuntu 18.04 (pop!os) Gnome 3 桌面,五笔拼音输入法

为方便同样用 ubuntu 18.04 的同学,我把编译前的准备工作和编译步骤列在下面:

1. 准备工作

sudo apt install cmake libboost-all-dev libibus-1.0-dev libnotify-dev libgoogle-glog-dev \
libkyotocabinet-dev libleveldb-dev libmarisa-dev libopencc-dev libyaml-cpp-dev

2. clone project and submodules:

git clone --recursive https://github.com/rime/ibus-rime.git
cd ibus-rime
# do this as normal user
./install-static.sh

3. 重启 ibus

ibus-damon -dxr 

Enjoy your favorite input method!

My favorite applications on Ubuntu

Awesome-Linux-Software
Awesome-Linux-Software Chinese

Currently, my laptop runs Pop! OS 18.04 (Ubuntu). Thanks my boss, he bought me a Windows laptop, so I have the chance to run Linux as my main OS. The following is a list of my favorite apps on my laptop.

mp3 player: Audacious

browser: Chromium

Markdown editor: Typora

Text editor: Geany

Quick view: gnome-sushi

Epub reader: Foliate

Console Dictionary: sdcv

Console tts: say (in gnustep-gui-runtime package)

hardware information: inxi

say alternative: gnustep-gui-runtime

apt-get install -y audacious chromium typora geany gnome-sushi foliate sdcv gnustep-gui-runtime inxi

3rd software

Jetbrains: Rider, Webstorm, Phpstorm, Pycharm

Telegram-desktop

will update the list when I remember... 😀

gnome3 how to alt tab windows on current workspace only?

gsettings set org.gnome.shell.app-switcher current-workspace-only true

Virtualbox MacOS VM setup / setup Rime/Squirrel input method (鼠须管) on macOS

  1. I successfully ran macOS High Sierra on my Ubuntu 18.04 laptop through VirtualBox. VirtualBox is great ! This article helps!
  2. Install Rime on macOS in five minutes
  3. download the zip file from latest release from the Tags page on GitHUB
  4. unzip the file and install the pkg file
  5. go to https://github.com/rime/plum to get the wubi package.
git clone https://github.com/rime/plum.git
cd plum
bash rime-install wubi pinyin-simp

The last step, is creating a default.custom.yaml file and putting it in ~/Library/Rime directory.

the content in my default.custom.yaml is

patch:
  schema_list:
    - schema: wubi_pinyin
    - schema: pinyin_simp