原创

XShell+Xmanager配置图形化远程终端



    在我们使用远程服务器的时候,有时候因为客观需要,要配置图形化的远程终端,比如在安装Oracle的时候。实现图形化远程终端的方式有很多种,比如:使用X协议实现,使用VNC实现,下面介绍最简单的一种方式,使用XShell+Xmanager实现,本质是通过X协议来实现。 ##步骤 前提条件:Ubuntu已经安装桌面相关的软件以及测试程序,如果没有安装可以执行以下命令:

apt install x11-xserver-utils    #安装Xclock
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal    #安装 gnome配套软件

sudo apt-get install x-window-system-core    安装x-windows的基础
sudo apt-get install gdm    #安装登录管理器
sudo apt-get install ubuntu-desktop    #sudo apt-get install ubuntu-desktop

第一步、设置环境变量和/etc/ssh/sshd_config中的X11选项

export DISPLAY = localhost:10.0
echo $DISPLAY

第二步、设置访问权限

xhost+       #设置为任何主机都可以访问,如果+号后面跟IP地址,则该指定的IP可以访问

第三步、连接主机

  1. 使用XShell建立连接时,设置连接属性,在 SSH –> tunneling(隧道) 选项下勾选 Forward X11 connections to: Xmanager。
  2. 打开Xmanager启动Xmanager - Passive。
  3. 在XShell中登陆远程服务器。
  4. 运行有图形界面的工具并将其显示在我们本地机器上,比如启动firefox。(它是通过 Xmanager 来显示的,设置gnome桌面工具栏都可以显示,执行 gnome-panel 程序即可。)

其他常用图形化界面功能:

  • gnome-panel
  • gnmoe-settings-daemon
  • metacity
  • nautilus
  • gnome-terminal

我在配置过程中遇到的问题

出现以下问题:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

解决办法:

使用下面命令:
sudo mv /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0.backup
sudo ln -s /usr/lib/nvidia-340/libGL.so.1 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0

重启,正常。

之后又出现了以下问题:(在运行gnome-panel时出现的)

(gnome-panel:2676): WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

解决办法:

暂时没有找到,不过好像不影响正常使用。

又遇到一个问题:

    Window manager warning: Failed to load theme "Ambiance": Failed to find a valid file for theme Ambiance

解决办法:

    sudo apt-get install light-themes

又又又遇到一个问题:(在运行metacity时出现的)

    Window manager warning: Screen 0 on display "localhost:10.0" already has a window manager

解决办法:

咨询过阿里云的工作人员,暂时也没有找到解决办法。

在VNC中遇到的问题:

    xauth: (stdin):1:  bad display name "iZwz9chhmo70iqyq5pxabhZ:1" in "add" command

解决办法: 只需要在/etc/hosts中追加一行127.0.0.1 iZwz9chhmo70iqyq5pxabhZ就可以了,问题的原因是由本地机器名没有在hosts文件中注册引起的。

VNC设置分辨率: 修改配置文件vncservers:

vi /etc/sysconfig/vncservers

我们可以将最后一行内容调整为如下:

VNCSERVERARGS[9]="-geometry 1366x768 -nolisten tcp"

重启vncserver后,使用“192.168.124.161:9”登录VNC便会得到一个1366x768的操作窗口

环境配置
Linux
  • 作者:Daozhi(联系作者)
  • 发表时间:2019-03-26 11:34
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 公众号转载:请在文末添加作者公众号二维码
  • 评论