2019.0309 16.04官方镜像安装的,下列方法可用,14.04仍然不可用。
2019.02.28 以下方法在新的ubuntu14.04 16.04 18.04的桌面版中均无效,我会另外写一个VNC的总结,亲测可用。
2019.01.13 重要更新 目前ubuntu16.04这个方法似乎有问题,使用vnc的方法代替,14.04仍然可用。
远程工作站系统 Ubuntu 16.04.5 Desktop (64-bit)或者Ubuntu 14.04.5 Desktop (64-bit)亲测可用。
第一步、ubuntu系统设置
一、安装xrdp
sudo apt-get install xrdp
二、安装vnc4server (tightvncserver一定要装!)
sudo apt-get install vnc4server tightvncserver
三、安装xubuntu-desktop
sudo apt-get install xubuntu-desktop
四、向xsession中写入xfce4-session
echo xfce4-session >~/.xsession
五、继续配置xfce4
sudo gedit /etc/xrdp/startwm.sh (或者使用vim vi编辑代替gedit)
在. /etc/X11/Xsession前一行插入以下两行(第一行内容方便以后加入cuda环境)
. /etc/profile
xfce4-session
注:这种方法不能使用中文输入法,使用
echo xfce4-session > ~/.xsession 代替 xfce4-session,注意这里的空格,
这样设置在远程中使用 ctrl+空格 可以切换中文输入。建议先使用原方法,远程看到界面了再修改此处。
六、修改最大连接数和远程端口号
sudo gedit /etc/xrdp/sesman.ini (或者使用vim vi编辑代替gedit)
修改MaxSession=200
sudo gedit /etc/xrdp/xrdp.ini (或者使用vim vi编辑代替gedit)
port=3389 (默认是3389,可以是别的)
注:ubuntu 14.04 需要继续修改xrdp.ini
sudo gedit /etc/xrdp/xrdp.ini (或者使用vim vi编辑代替gedit)
修改[xrdp1]下面的 port=ask (ubuntu16.04无需修改)
七、开启xrdp服务
sudo service xrdp restart
八、安装SSH (用来传输数据使用)
打开终端窗口,输入
sudo apt-get update
sudo apt-get install openssh-server
sudo service ssh start
查看ssh服务是否启动
sudo ps -e |grep ssh
显示有sshd就说明启动了,没有就再输入一次 sudo service ssh start
ssh端口号默认是22,如需修改端口号输入
sudo gedit /etc/ssh/sshd_config
修改 Port 22 为其他端口号
***************************************分割线***********************************************
第二步 路由设置 (这里的路由器是指连接ubuntu工作站网络的,如果已经设置好请跳过此部分)
一、固定ip
终端输入 sudo ifconfig 查看
打开浏览器,输入192.168.1.1(或者其他查看路由器底部,或者根据刚才获得的ip地址推测,多个路由连接请注意可能不适用),找到有关静态地址分配的选项,固定你的ip与mac地址,例如(不同路由的选项分类不同)
二、设置远程桌面端口号
找到路由器设置里面的虚拟服务器
ip地址输入 刚才主机看到的地址,如192.168.1.100,外部端口号任意,常用3389,内部端口号一定是3389,协议就选ALL。也有一些路由器只设置一个端口号,没有外部内部端口,就写3389。举例说明:
如图所示第一个3393(可以是别的,一般设置为3389)是外部端口号,第二个是内部端口号3389(一定是这个),然后192.168.1.100是主机的ip。
三、设置ssh端口
仿照第二步,外部端口号随意(一般写22),内部端口号22(根据刚才ssh设置,默认设置22),如上图所示24是外部端口,22是内部端口。
补充:如果是多个路由级联,区分是同级路由还是子路由。可以根据刚才的原则尝试设置,最终能访问到主机地址的3389和22即可(3389和22是默认的远程桌面和ssh端口,可以修改)
四、查看自己的公网ip
局域网情况:即访问的主机和远程的ubuntu主机在一个局域网,使用远程主机局域网ip即可,如192.168.1.100
公网情况:在百度中输入ip,就能查看自己的公网ip。或者在路由器中找一下,是可以看到的,比如联网状态。注意校园网只能从路由器看,百度直接输ip看到的是整个学校的ip地址,并且只能在校园网络范围使用。
*************************************************分割线**************************************
第三步 windows远程桌面访问
开始---->运行----->mstsc,win10直接开始里面搜mstsc即可
ip输入刚才查到的公网 ip:外部端口号,如211.21.21.21:3390
如果外部端口刚才设置的3389就可以省略,直接输入ip,如211.21.21.21
ubuntu远程内部端口3389的修改可以在/etc/xrdp/xrdp.ini中修改
补充:ubuntu 14.04 如果想每次都进入同一界面,必须吗,每次输入一个端口号
第一次登录除了输入用户名,密码,还需输入端口号-1,如图所示输入。确认后,这时一定注意右上角!!!
第二次登陆输入获得的端口号,如5915
你肯定已经进去界面了,进不去再说。
*****************************分割线************************************************
最后补充一些快捷键设置,因为远程不能用快捷键调用CTRL+alt+T和tab补全
1、tab补全
打开菜单->设置->窗口管理器,或者在终端中输入xfwm4-settings打开(xfwm4就是xfce4 window manger的缩写)
选择键盘,可以看到窗口快捷键中动作一列有“切换同一应用程序的窗口”选项,将该选项的快捷键清除后关闭窗口即可。
缺省的设置,该项的值为“super+制表”,制表键就是tab键。
2、终端快捷键
菜单->设置->键盘,点击添加,命令输入exo-open --launch TerminalEmulator,如图所示
*******************************************分割线*******************************************
如果操作失误,多开了远程会话,最好找到进程kill掉,如果想杀掉自己全部进程,这里提供一个指令sudo killall -u xxx ,xxx代表你的用户名。一定记得清理没用的会话,否则可能会报错。
参考博客:
Ubuntu 16.04 远程桌面blog.csdn.net xrdp完美实现Windows远程访问Ubuntu 16.04www.linuxidc.com