X11 转发

news/2024/10/21 6:46:06/

文章目录

  • 参考
  • 参与者与凭据
    • 情景1 : 桌面终端下打开firefox
    • 情景2 : ssh 终端下打开firefox
  • 情景1
    • 桌面终端下的 案例与DISPLAY
  • 情景2
    • 基于X11转发的ssh案例
    • ssh 终端下的 DISPLAY
  • 情景2 下 vim 慢的问题

参考

  • 什么是X11-forwarding?怎么使用?
  • 为什么X11转发如此低效?
  • 一次分析vim启动慢原因的经历

参与者与凭据

情景1 : 桌面终端下打开firefox

桌面终端下打开firefox // 与 x11转发 无关X11 clientX11 server
firefox <--A--> X11 serverA 是 桌面终端 下的 DISPLAY 的值 , 要与 X11 server 的 log 对应 // 用户需要关注,可以修改默认值达到其他效果

情景2 : ssh 终端下打开firefox

ssh 终端下 打开firefox  // 基于 x11转发 的应用X11 client & X11 serverssh client & ssh server // ssh client 和  ssh server 都要配置 X11转发
	firefox <--A--> ssh server <--C--> ssh client <--B--> X11 serverA 是 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
$firefoxshow 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 慢的问题

  • 情景 : ssh + vim + X11转发 实现 在 vim 中拷贝到系统粘贴板的功能
参考 : https://blog.nowcoder.net/n/8042a45543e2453a8a933ce9fa764a7f// 在 局域网下 一点都感觉不到慢// 要是经过互联网ssh ,就感觉慢了
用 vim --startuptime tmp.txt ~/.vim/vimrc 评估时间
set clipboard=exclude:.* // 该句确实可以缩短时间,但是会丢失 该功能 : 在 vim 中拷贝到系统粘贴板的功能
set clipboard=unnamed    // 该句可以重拾该功能,但是慢。 而且该句必须在 vim启动时加载,功能才有效
  • 解决方案
vim 的配置文件中 ~/.vim/vimrcset clipboard=exclude:.*
新建一个配置文件~/.vim/vimrc_copyset clipboard=unnamed
新建一个 可执行脚本文件 , 名为vimc
vim -u ~/.vim/vimrc_copy $@
--------------------------------
vim  不耗时,不支持拷贝
vimc   耗时,  支持拷贝

http://www.ppmy.cn/news/241345.html

相关文章

Springboot3 + SpringSecurity + JWT + OpenApi3 实现认证授权

Springboot3 SpringSecurity JWT OpenApi3 实现双token 目前全网最新的 Spring Security JWT 实现双 Token 的案例&#xff01;收藏就对了&#xff0c;欢迎各位看友学习参考。此项目由作者个人创作&#xff0c;可以供大家学习和项目实战使用&#xff0c;创作不易&#xff…

蓝桥 巧克力 贪心 排序 java

&#x1f351; 算法题解专栏 &#x1f351; 蓝桥 巧克力 输入 10 3 1 6 5 2 7 3 3 10 10输出 18&#x1f351; 思路 &#x1f364; 前边日期安排后影响后边的安排&#xff0c;但后边的安排不会影响前边的安排 &#x1f364; 从后往前步步贪心实现局部最优&#xff1a;在可选…

C语言,你觉得难吗?

C语言&#xff0c;众所周知&#xff0c;作为许多学校的编程入门课程&#xff0c;它并非易如反掌&#xff0c;甚至可称为最具挑战性的语言之一。学习C语言的难点不在于其语法&#xff0c;因为它的语法知识点并不繁多。其真正难以掌握之处在于如何运用这些简单的指令设计出复杂的…

企业课(理论)

数据链路层 IP地址&#xff1a;32bit 十进制、二进制表示 Mac地址&#xff1a;48bit 十六进制 &#xff08;0-9&#xff0c;a-f&#xff09; Mac地址&#xff1a; 单播Mac地址&#xff1a;一对一 48bit第八bit为0 组播Mac地址&#xff1a;一对多 48bit第八b…

iOS app上架截屏尺寸 5.5英寸:1242x2208 6.5英寸:1242x2688

5.5英寸和6.5英寸的iphone的截屏必须上传 5.5英寸&#xff1a;1242x2208 6.5英寸&#xff1a;1242x2688

not in 查不出数据

当not in (idList) 里面 id存在空时&#xff0c;not in null 等同于 !null, 我们知道数据库判断空是is null &#xff0c;如果用!null就查不到数据了

缓存一致性

《缓存更新的套路》 -陈皓 &#xff08;不考虑二步失败&#xff0c;只考虑并发状况&#xff09; 先指出了”先删除缓存&#xff0c;再更新DB“策略在并发时存在的一致性问题 说明cache aside缓存模式&#xff0c;其更新为“先更新DB&#xff0c;再让缓存失效”模式&#xff08…

令人惊艳的高效算法盘点(附示例)

令人惊艳的高效算法盘点&#xff08;附示例&#xff09; 在计算机科学领域&#xff0c;算法是解决问题的基石。有些算法&#xff0c;因为其高效性和惊人表现&#xff0c;令人瞩目。本文将为你介绍一些令人惊艳的高效算法&#xff0c;让我们一起来领略这些算法的魅力吧&#xf…