Ubuntu好像自12.04以后,就把定制的dnsmasq用作自己的DNS解析服务。只绑定在127.0.0.1上面。

但是当你安装了完整版的dnsmasq以后,却发现这个定制版的dnsmasq导致无法在127.0.0.1以外的IP上提供服务。

经过多方研究,发现经过如下两步操作以后,dnsmasq的完整版就可以完美运行了。

  1. 编辑 /etc/NetworkManager/NetworkManager.conf
    在dns=dnsmasq这一行前面加上#注释掉。
    这样就可以把这个定制版的dnsmasq停掉
  2. 编辑/lib/systemd/system/dnsmasq.service
    在[Unit]下面加上这两行:

    After=network-online.target
    Wants=network-online.target
    

    这样的目的是防止dnsmasq先于网卡前启动,导致网卡绑定失败。从而需要每次手工重启dnsmasq服务。

好了。难者不会,会者不难。这样就可以完美解决Ubuntu下面安装试用dnsmasq的问题。

最近在Ubuntu 16.04上实现了使用XRDP远程连接Unity桌面。这样的话使用Win自带的RemoteDesktop就可以连接Ubuntu的Unity了。

下面把步骤写下~

  1. 下载并安装TigerVNC
    下载:https://bintray.com/tigervnc/stable/tigervnc/1.7.0#files/ubuntu-16.04LT
    安装:sudo dpkg -i tigervncserver_1.7.0_xxx.deb
    安装的时候可能会提示缺包,这时候用命令sudo apt-get install -f补全。
  2. 安装XRDP
    sudo apt-get install xrdp
  3. 配置XRDP
    单用户执行:echo unity>~/.xsession
    多用户执行:sudo sed -i.bak ‘/fi/a #xrdp multi-users \n unity \n’ /etc/xrdp/startwm.sh

OK!搞定!就这三步就可以实现XRDP连接Ubuntu Unity。怎样?简单吧?

不过这个方法也是bug的,目前已知的bug是:

  1. 鼠标指针丢失
    修复方法也比较简单,在桌面上右键打开Terminal就可以解决
  2. Indicator Panel丢失
    没有这个Panel,你就不能Logout等等了。而且这个问题目前暂时没有解决方案。

参考URL:http://c-nergy.be/blog/?p=9962


2020-05-28 更新

这个方法感觉还是麻烦了些,而且还有BUG导致Logout菜单等等看不见。最好的办法还是用Mate桌面,相关代码如下:

sudo apt-get install xrdp
 
sudo apt-get update
 
sudo apt-get install mate-core mate-desktop-environment mate-notification-daemon
 
sudo sed -i.bak '/fi/a #xrdp multiple users configuration \n mate-session \n' /etc/xrdp/startwm.sh
 
sudo ufw allow 3389/tcp

在Ubuntu中是没有chkconfig这个命令的,如果想要在Ubuntu里面使用类似Chkconfig的命令怎么办呢?

可以试试sysv-rc-conf命令,如果没有安装的话,可以使用apt-get install来安装这个命令。就可以以模拟图形界面的方式来配置各个service的runlevel了。

另外Ubuntu使用Upstart来替代来了传统的sysvinit,详细的使用方法参加:

https://help.ubuntu.com/community/UpstartHowto

Ubuntu在升级了几次内核以后,就会在引导菜单里面多出很多引导项。看着很不爽~

今天研究了下,发现可以通过下面这个命令删除Ubuntu系统中过期的内核,精简菜单项:

 

XML/HTML代码
  1. sudo aptitude purge ~ilinux-image-.*(!`uname -r`)  

 

一行命令就解决问题,不错!

同时在网上还看到另外一个复杂一点的办法:

第一步:列出所有当前已经安装了的内核文件:
 
$dpkg –get-selections|grep linux-image
linux-image-2.6.31-14-generic            install
linux-image-2.6.31-15-generic            install
linux-image-2.6.31-16-generic            install
linux-image-2.6.31-17-generic            install
linux-image-2.6.31-20-generic            install
linux-image-2.6.31-21-generic            install

第二步:删除旧的内核,用以下命令:
 
$sudo apt-get remove [内核文件名]
 
同时删除多个可以在内核文件名之间加空格。比如我要删除14,15我就输入以下命令:
 
$sudo apt-get remove linux-image-2.6.31-14-generic linux-image-2.6.31-15-generic