您现在的位置是:首页 >技术杂谈 >X11 转发网站首页技术杂谈
X11 转发
简介X11 转发
文章目录
参考
参与者与凭据
情景1 : 桌面终端下打开firefox
桌面终端下打开firefox // 与 x11转发 无关
X11 client
X11 server
firefox <--A--> X11 server
A 是 桌面终端 下的 DISPLAY 的值 , 要与 X11 server 的 log 对应 // 用户需要关注,可以修改默认值达到其他效果
情景2 : ssh 终端下打开firefox
ssh 终端下 打开firefox // 基于 x11转发 的应用
X11 client & X11 server
ssh client & ssh server // ssh client 和 ssh server 都要配置 X11转发
firefox <--A--> ssh server <--C--> ssh client <--B--> X11 server
A 是 ssh 得到的终端下的 DISPLAY 的值 , 由sshd 自动分配 , 用户无需关注
B 是 ssh client(例如 secure CRT ) 设置的 DISPLAY 的 值 , 要与 X11 server 的 log 对应 // 用户需要关注,可以修改默认值达到其他效果
C 可以是用户密码,也可以是 秘钥
情景1
桌面终端下的 案例与DISPLAY
在桌面终端打印出来是DISPALY=:0.0 // 对应情景1 的凭据A
然后firefox , firefox 就在 当前桌面下 打开了
export DISPLAY=10.37.30.85:0.0 // 在ssh终端下不能这样用
然后firefox , firefox 就在 10.37.30.85 的桌面下 打开了
情景2
基于X11转发的ssh案例
"windows X11 server"
DISPLAY=127.0.0.1:0.0 // server 的配置,凭据B 向这里 对齐
windows secure CRT
开启x11转发
DISPLAY=127.0.0.1:0.0 // 对应情景2的凭据B
windows secure CRT ssh centos
$ echo $DISPLAY
localhost:12.0 // 对应情景2的凭据A
// 这个是 sshd 分配的. // sshd 要配置 X11Forwarding yes
$firefox
show in "windows X11 server"
ssh 终端下的 DISPLAY
- ssh服务器配置X11转发,客户端X11转发打开 , ssh得到的终端 下的 DISPLAY变量
DISPLAY …,它的格式是DISPLAYhost:NumA.NumB
在第一个ssh终端 DISPLAY=localhost:12.0 // 只有 在 secure CRT 设置 X11转发 时 ,该变量才存在。否则为空
在第二个ssh终端 DISPLAY=localhost:13.0 // 在ssh下,
...
- ssh服务器配置X11转发,客户端X11转发关闭 , ssh得到的终端 下的 DISPLAY变量
[suweishuai@matlab02 linux-5.4]$ echo $DISPLAY // 得到的为空
情景2 下 vim 慢的问题
参考 : https://blog.nowcoder.net/n/8042a45543e2453a8a933ce9fa764a7f
// 在 局域网下 一点都感觉不到慢
// 要是经过互联网ssh ,就感觉慢了
用 vim --startuptime tmp.txt ~/.vim/vimrc 评估时间
set clipboard=exclude:.* // 该句确实可以缩短时间,但是会丢失 该功能 : 在 vim 中拷贝到系统粘贴板的功能
set clipboard=unnamed // 该句可以重拾该功能,但是慢。 而且该句必须在 vim启动时加载,功能才有效
- 解决方案
vim 的配置文件中 ~/.vim/vimrc
set clipboard=exclude:.*
新建一个配置文件~/.vim/vimrc_copy
set clipboard=unnamed
新建一个 可执行脚本文件 , 名为vimc
vim -u ~/.vim/vimrc_copy $@
--------------------------------
vim 不耗时,不支持拷贝
vimc 耗时, 支持拷贝
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。