kylin 填坑+图形化 ssh

这篇文章是上一篇达梦数据库的补充文章

kylin 镜像下载

之前文章提到过 kylin 有两种镜像,一种是服务器的镜像,一种是 desktop 镜像,我这里拿到的两种镜像文件名是:

  • Kylin-Server-10-SP2-x86-Release-Build09-20210524(服务器镜像)
  • Kylin-Desktop-V10-SP1-Release-hwe-2107-x86_64.iso(桌面端镜像)

惯例,直接百度搜不到官方镜像地址。google 搜到的第一个地址,来自互联网博物馆 archive.org,虽然也不是官方地址,但其他可信度比其他地址高。kylin 啊,你的官网下载地址就那么难找吗?

vmware-tools 安装

桌面版镜像安装完后自动就会装好 vwmare-tools。

服务器镜像则不会。

网络上的教程和我平时的习惯是加载 vmware 自带的 vmware-tools 的 iso 镜像安装。但安装完后只有分辨率显示正常(动态分辨率),复制粘贴功能全不可用。

其实 kylin 自己的源中,就有适用其的 open-vm-tools:

1
2
3
#建议有网络的情况下先行运行
#yum update
yum install open-vm-tools-desktop

然后重启即可复制粘贴文字至虚拟机中。但文件仍然不可复制,这一点桌面版镜像也一样。

kylin 服务器版在 vmware 中无法开启网络

参考文章:VMware安装linux无网卡,只有lo网卡_IT门外人儿的博客-CSDN博客_linux lo网卡

  1. 右键虚拟机名字->打开虚拟机目录

    img

    用记事本打开目录中的 vmx 文件,加入一行:

    1
    ethernet0.virtualDev = "e1000"
  2. 进入系统中,右键右下角网卡图标->编辑连接,就能看到 ens33 这张网卡了。点齿轮图标(编辑选中的连接),进入常规选项卡,勾选「根据优先级自动连接」即可。

    img

    话说回来,只有第一次创建 kylin 虚拟发现无法联网时我才执行了第一步,后续再创建多个虚拟机的时候,vmware 自动帮我在 .vmx 文件里写入了相应的代码,后续我只需要进入虚拟机执行第二部即可。这究竟是不是 vmware 的 bug 呢。。。

ssh/terminal 调用图形窗口

达梦安装和使用时有很大一部分操作在 gui 中,在有图形界面的虚拟机中似乎不是什么难事,然而在 ssh 就有些操作门槛。不过讲清楚原理的话,和虚拟机 terminal 中也大差不差。

  1. (对于 ssh)准备好 x11 软件,比如 xmanager,比如 MobaXterm。

    • 实际上经过实验几乎所有 ssh 终端都能和 x11 接上。虽然 xmanager 和 xshell 是一家的,但并没有规定两者一定要一起用。xshell 可以配合 MobaXterm 使用,其他 ssh 终端(MobaXterm、electerm、putty 等)也可以配合 xmanager 使用。

    • xmanager 安装好后运行 Xmanager - Passive 即可。

    • 相较于 xmanager,MobaXterm 没有 30 天使用限制,功能也更为强大,但也更为复杂。MobaXterm 打开后点击右上角的 Xserver 标志即可。

    • 对于高分辨率并使用了缩放的 windows 设备会有 dpi 缩放问题,具体表现为有些按键被挤压到界面外无法显示。对于 Xmanager - Passive,只能找到其应用本体文件(即 xmanager.exe),右键->属性->兼容性->更改高 dpi 设置,在「高 DPI 缩放替代处」下拉菜单选择「系统」或「系统(增强)」。

      img但这样也会导致软件本身的界面变得模糊。

    • 对于 MobaXterm,除了用上面这个方法,还可以先右键 Xserver 标志,点击配置,在 X11 设置中调整 dpi。dpi 的算法是「根号(横向分辨率的平方+竖向分辨率的平方)/屏幕尺寸/windows缩放比例」,以我的笔记本联想 pro13 为例:

      img

      img

      那么 dpi 选 100 就差不多合适了。

      img

  2. 切换到 root 账号下。

  3. 查看 $DISPLAY 变量,把结果记下来。

    1
    echo $DISPLAY

    在虚拟机的 terminal 中,这个变量的值是 :0.0。在 vnc 中,这个变量的值大概是 :1.0,实际上取决于你开了多少个 vnc 窗口;而在 ssh 中,大概率是没有值的。如果这里没有值,后面在非 root 用户下 export 什么都可以;但如果有值,export 的必须是这里的这个值。

  4. 添加当前窗口到到允许连接到 X 服务器的列表中

    1
    xhost +
  5. 切换用户

    1
    su - dmdba
  6. 定义该用户的 $DISPLAY 变量。对于 terminal 和 vnc,等号后面写第二步查到的值即可;对于 ssh,需要在值前面加上当前的局域网 ip。一般来说,如果 kylin 在虚拟机中,并且网络适配器设置为 nat,那么 192.168.127.1 这个 ip 是可以从实机连接到虚拟机中的。

    1
    2
    3
    echo DISPLAY=:0.0
    #ssh用,假设当前设备局域网 ip 为 192.168.127.1
    #echo DISPLAY=192.168.127.1:0.0
  7. 再次输入

    1
    xhost +

    弹出

    1
    2
    access control disabled, clients can connect from any host
    xhost: must be on local machine to enable or disable access control.

    即可。

    • 对于 MobaXterm 有可能输入 xhost + 后会卡住然后报错。此时把鼠标悬停到 XServer 图标处,能看到本机的其他几个 ip

      img

      选其他可用的 ip 重新 export 一遍,比如:

      1
      export DISPLAY=127.0.0.1:0.0

      再次运行 xhost +,如仍失败,重复上述步骤直至成功。

kylin 桌面版无法安装

安装后显示安装失败。

原因是创建账号的时候不能命名为 root。

命名为其他账户名后,如后续需要 root 账号可进入系统后使用

1
sudo passwd root

开启。