美文网首页
Ubuntu 远程桌面的方式

Ubuntu 远程桌面的方式

作者: black_history | 来源:发表于2020-09-22 01:51 被阅读0次

    提示:仅仅是按照记忆所写的笔记,如果你看到这篇笔记,按照操作出了问题,评论就好了,我会完善一下。笔记内容以外的问题不要评论,我不管。


    1. vino & dconf-editor

      该方式适用于ubuntu desktop 18.04 及以后版本,非常地方便。注意是官方发行的桌面版本!如果是这些版本就不要使用后面的方式了,不灵的!

      1. 安装vino & dconf-editor
      sudo apt-get install vino dconf-editor
      
      1. 运行dconf-editor取消requlre-encryption选项
        这一步是必要的,不然无法访问
        在桌面找到该程序或命令行输入dconf-editor,打开该软件。
        org->gnome->desktop->remote-access页面找到equlre-encryption选项并关闭它。如图:
        配置截图
      2. 启用屏幕共享
        设置>共享>屏幕共享,将它打开。勾选允许屏幕共享&需要密码并设置密码。如图: 设置截图
      3. 连接
        使用vnc远程软件连接5900端口即可,如果不能连接,看看端口是否被开放,这里不再赘述。一般没有问题。
    2. x11vnc

      通过x11vnc远程控制ubuntu桌面,是共享的同一个屏幕

      1. 安装
      sudo apt install x11vnc
      
      1. 设置密码
       x11vnc -storepasswd
      
      1. 启动
      x11vnc -forever -shared  -rfbuath ~/.vnc/passwd
      

      注意看输出的信息是监听哪个端口,一般是5900,随后连接该端口即可。
      远程软件和ubuntu是共享同一个屏幕的,两边的操作是同步的。

      1. 设置开机启动(一般情况下没有必要)
      #若不存在就创建
      sudo touch /etc/init/x11vnc.conf
      #修改权限位可运行
      sudo chmod a+w /etc/init/x11vnc.conf
      
      sudo vi /etc/init/x11vnc.conf
      
      #修改为以下内容
      start on login-session-start 
      
      script 
      x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log -rfbauth /etc/x11vnc.pass -rfbport 5900
      end script 
      
    3. vnc4server / tigervnc / tightvnc

      其实这几种vnc软件差别不大,安装后用法都是一样的。vnc4server在ubuntu 20版本的apt源中是没有的,用后两个之一就行了。tigervnctightvnc的一个分支。

      1. 安装
        sudo apt install vnc4serversudo apt install tigervnc-standalone-server tigervnc-commonsudo apt install tightvncserver
      2. 启动vncserver并修改配置
        1. 先启动一次
        vncserver
        
        初次运行会要求设置密码,随后会生成配置文件
        1. 修改配置
        vi ~/.vnc/xstartup
        
        以下取消注释
        unset SESSION_MANAGER
        unset DBUS_SESSION_BUS_ADDRESS
        
        末尾替换要启动的桌面,如xfce4
        exec startxfce4 
        
        1. 重新启动vncserver
          kill掉初次运行打开的会话,重新运行,如
        vncserver -kill :1
        vncserver
        
        注意kill后面有空格。查看输出的信息,监听哪个端口,连接它。
    4. 使用ssh tunnel 加密vnc会话
      vnc会话是不加密的,它是明文传输内容的。如果就这样远程作业那是非常地不安全。通过ssh本地转发地方式可以达到加密的效果。
      注意,如果远程机器在国外不要这样做,容易被g..f..w阻断你机器的ip。

      1. 打开一个本地ssh会话,登录远程ssh时配置本地转发
      ssh -L 1234:localhost:5900 username@ipAddress:port
      

      格式是这样的:
      ssh -L 本地地址:本地端口:目的地址:目的端口 跳转机用户@跳转机地址
      在这里省略了本地地址,本地端口可以是任意没有被占用的端口,比如搞成和远程机器一样的5900啥的。
      由于我想要远程桌面的机器与我登录ssh的机器是同一台,所以目的地址是localhost,当然也完全可以再加一个跳板机(登录ssh的那台机器),但是没那个必要。

      1. 使用vnc客户端连接本地端口
        如果本地机器开了防火墙,记得开放端口。
        这样我们的vnc会话经过ssh隧道传输数据,就安全多了。
    5. xrdp远程
      vnc是未加密的连接方式,不安全,还要ssh转发加密一次,怪麻烦的。
      而xrdp是加密的,但它不是独立工作的,需要vncserver配合。

      1. 安装xrdp & xorg & tigervnc(或其他vncserver软件)
      sudo apt insatll xrdp xorg tigervnc-standalone-server tigervnc-common
      
      1. 修改配置
      vi /etc/xrdp/startwm.sh
      

      注释掉末尾两行,添加你要启动的桌面的session
      xfce4xfce4-sessionlxdelxsession

      1. 启动并连接
        windows自带的远程桌面连接软件就可以。Win+R > mstsc 即可打开。会话选xorg,输入用户名和密码连接即可。
      2. 出现的问题及解决方案
        不显示桌面,远程桌面连接软件蓝屏
        1. 想要xorg会话方式远程桌面,那远程机器是不能登录桌面的,若登录了桌面,注销它再由远程软件访问。
        2. 若还不能访问,首先查看远程机器用户目录下.Xauthority&.ICEauthority 的用户&用户组,如果是root,就改成要登录的用户:
        sudo chown user:usergroup .Xauthority
        sudo chown user:usergroup .ICEauthority
        
        造成这个问题的原因是在启动xrdp时使用了sudo,导致以上文件权限被更改。在上面3启动vncserver时若使用了sudo也会导致vnc软件无法连接,解决方案也是修改文件权限。
    6. 其他远程软件TeamViewer、Nomachine等
      这些软件安装使用方便,但是速度不如xrdp方式,如果机器距离比较近,用这个就行,省事儿。

    相关文章

      网友评论

          本文标题:Ubuntu 远程桌面的方式

          本文链接:https://www.haomeiwen.com/subject/tivkyktx.html