如何使用 SSH 但没有命令行参数在远程主机上设置 DISPLAY 变量的特定值?

如何使用 SSH 但没有命令行参数在远程主机上设置 DISPLAY 变量的特定值?

例如,在 Putty 中,我可以为远程主机上的环境变量配置准确的值

在此输入图像描述

在 Linux 上我有~/.ssh/config一个包含这样的条目的文件

Host calculon
    User dims

是否可以以及如何以相同的方式在 Linux 上配置远程主机环境变量,即无需在命令行或单独的命令中指定它们?

我可以指定

SendEnv DISPLAY

config,但这需要通过单独的命令在本地主机上设置此变量。这既过分,对于DISPLAY变量来说也是无稽之谈。

我也读过有关~/.ssh/environment文件并写了这个

dims@pterosaur:~$ cd .ssh
dims@pterosaur:~/.ssh$ cat environment 
DISPLAY=pterosaur:0

但这没有效果(DISPLAY远程主机上未设置变量)。

请注意,sshd已配置为接受DISPLAY变量并通常从 接受它Putty。所以任务是以同样的方式配置 Linux 客户端。

答案1

配置记录在man 5 ssh_config

发送环境如果服务器支持并配置为接受它,则可以使用:

发送环境

指定应将本地的哪些变量environ(7)发送到服务器。请注意,仅协议 2 支持环境传递。服务器也必须支持它,并且服务器必须配置为接受这些环境变量。有关如何配置服务器的信息,请参阅AcceptEnvsshd_config(5)变量由名称指定,名称可以包含通配符。多个环境变量可以用空格分隔或分布在多个 SendEnv 指令中。默认情况下不发送任何环境变量。

如果这不可能的话,您还可以使用环境变量配置远程主机 shell(使用.profile等,对于 bash,请参阅bash 启动文件)。

相关内容