명령줄 인수 없이 SSH를 사용하여 원격 호스트에서 DISPLAY 변수의 특정 값을 어떻게 설정할 수 있습니까?

명령줄 인수 없이 SSH를 사용하여 원격 호스트에서 DISPLAY 변수의 특정 값을 어떻게 설정할 수 있습니까?

예를 들어 Putty에서는 원격 호스트의 환경 변수에 대한 정확한 값을 구성할 수 있습니다.

여기에 이미지 설명을 입력하세요.

~/.ssh/configLinux에는 다음과 같은 항목이 포함된 파일이 있습니다 .

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허용하도록 구성되어 있으며 일반적으로 에서 이를 허용합니다 . 따라서 작업은 동일한 방식으로 Linux 클라이언트를 구성하는 것입니다.DISPLAYPutty

답변1

구성은 다음에 기록됩니다.man 5 ssh_config.

환경 보내기서버가 이를 지원하고 이를 허용하도록 구성된 경우 다음을 사용할 수 있습니다.

환경 보내기

environ(7)서버로 보내야 하는 지역 변수를 지정합니다 . 환경 전달은 프로토콜 2에서만 지원됩니다. 서버도 이를 지원해야 하며 서버는 이러한 환경 변수를 허용하도록 구성되어야 합니다. 서버 구성 방법에 대한 자세한 내용은 을 참조하십시오 AcceptEnv. sshd_config(5)변수는 와일드카드 문자를 포함할 수 있는 이름으로 지정됩니다. 여러 환경 변수는 공백으로 구분하거나 여러 SendEnv 지시문에 배포할 수 있습니다. 기본적으로 환경 변수는 전송되지 않습니다.

이것이 가능하지 않은 경우 환경 변수를 사용하여 원격 호스트 셸을 구성할 수도 있습니다( .profilebash의 경우 등 사용).배시 시작 파일).

관련 정보