前言
对于服务器的仿真用户,Sentaurus运行在服务端,用户通过SSH协议和X-Server远程登录服务器,便可将服务器上的Sentaurus进行“本地化”运行,十分方便。比较常用的SSH远程登录软件是付费版的Xmanager,连接速度快、运行稳定、使用方便。然而,对于2018版本以后的Sentaurus,使用Xmanager运行svisual并打开tdr文件时,无法显示图像并报如下错误:
Xlib: extension "MIT-SHM" missing on display "localhost:10.0".
因此,本文针对上述问题,基于开源免费的MobaXterm和Cygwin/X,提供一种新的远程连接方法,实现近乎完美的远程连接体验。
注: 此方法在jedit编辑文本时,存在一个小bug,当按上或者下箭时,可能发生连续向上和连续向下的换行,按下ctrl+s即可解除,请留意。
先了解一下 X window System
X Window System(又称X11)是linux系统中提供图形界面的服务。该服务包含一个称为X-Server的服务,应用程序如jedit、gedit、svisual等启动时,向X-Server中发送图形界面的请求,由X-Server将图形界面在系统中显示。重要的一点,应用程序向X-Server发送的图形请求是可以被转发(forward)的,转发到一个远端客户机上的X-Server上,并在客户机上显示图像界面,这就为SSH远程运行图形界面提供了条件。
因此,为实现远程图形界面的显示,需要具备两个条件,一个是通过SSH向服务器发送命令,另外一个是在客户机上安装并启动一个X-Server,用于接受服务器发来的图形界面请求。
本文使用MobaXterm建立SSH连接,使用Cygwin/X工具建立X-Server接收服务器的图形界面请求。
“MIT-SHM”解释
MIT-SHM是MIT-SHM shared memory extensiond的缩写,是麻省理工发布的共享存储的插件,用于提高图形刷新速度。
Xlib: extension "MIT-SHM" missing on display "localhost:10.0".
上述错误说明客户机上的X-Server不包含MIT-SHM插件,导致图形显示异常。因此,必须要在客户机上运行支持MIT-SHM插件的X-Server。
目前,据我所知,只有Cygwin的X-Server支持MIT-SHM。
1. 安装MobaXterm
- 运行MobaXterm安装包,按照默认设置完成安装即可。
解压MobaXterm_Installer_v20.2.zip
运行MobaXterm_installer_20.2.msi,完成安装即可。
- 配置MobaXterm
MobaXterm是自带X-Server的,但是并不支持MIT-SHM,因此需要先把自带的X-Server关闭,并取消X-Server的自启动功能。设置方法如下:
首先,关闭X server
然后,打开MobaXterm的设置按钮,关闭自带X-server的自启动
MobaXterm设置完毕。
2. 安装Cygwin/X
运行cygwin-setup-x86_64.exe程序,开始安装
选择源http://mirrors.163.com,如果没有,请输入该网址,并选择“add”,点击下一步。
接下来安装依赖库,比较重要,请留意。
首先,安装xorg-server以及xorg-server-common。view选择full,search里输入xorg-server,在New栏中对应行处双击,skip字样变成版本号即可。(还要装别的,不要点下一步)
同样的方法,安装cygrunsrv和xinit。
然后,一直点击下一步,开始下载和安装。
安装完成即可。
3. 配置Cygwin/X
为了使Cygwin支持MIT-SHM需要启动cygserver服务,步骤如下:
- 配置MIT-SHM
在开始菜单中找到“XWin Server”程序,右键“以管理员身份运行。”
运行成功后,任务栏会出现两个图标,在绿色的图标上右键,选择系统工具,选择Cygwin Terminnal。
进入terminal之后,输入cygserver-config,回车。(请务必确认是管理员身份运行,否则无法设置成功)。
然后,输入cygrunsrv -S cygserver,回车,启动cygserver服务。
- 配置授权方式
找到安装路径下的starxwin文件,使用记事本编辑。该文件在安装路径的bin文件夹下,默认的路径是
C:cygwin64binstartxwin
修改文件中的enable_xauth行,将1改成0,改为:
enable_xauth=0
保存后退出。
- 配置tcp监听
一般ssh是通过 tcp连接的,需要让X-Server监听tcp连接上的图形请求。找到Xwin Server链接的文件位置,点击属性编辑。
将属性页面中目标的内容修改如下:
C:cygwin64binrun.exe --quote /usr/bin/bash.exe -l -c "cd; exec /usr/bin/startxwin -- -multiwindow -listen tcp"
即在startxwin后面追加 “ -- -multiwindow -listen tcp”选项,请注意引号的位置!!
到此为止,所有设置完毕。
- 在桌面右下角关闭并重启XWin-Server。
使用方法
当需要进行远程登录时,依次进行如下操作:
1、打开MobaXterm,并确保自带的X-Server关闭;
2、打开XWin Server,并确保右下角有Xserver的图标产生;
3、MobaXterm通过SSH远程登陆,开始使用,当需要启动图形界面时,软件会自动调用X-server,从而进入图形界面。
文件下载方法
链接容易失效,已经将安装包打包放在公 众 号“半导体器件”上,或搜索SentaurusTCAD(中间无空格),回复“远程登陆”即可获取下载链接。
写在最后:
1、欢迎关注知乎专栏“Sentaurus TCAD 器件仿真”,欢迎投稿:
Sentaurus TCAD 数值模拟zhuanlan.zhihu.com2、欢迎初学者收听我的live:
如何快速入门Sentaurus TCAD半导体器件仿真www.zhihu.com3. 本文为原创,未经允许,请勿转载。
- 完 -