
WSL/Ubuntu에서는 다음을 통해 실행 파일을 열거나 실행할 수 있습니다.
user@desktop: notepad.exe
그러면 메모장이 열립니다. 그러나 iPad와 같은 다른 클라이언트에서 WSL로 SSH를 통해 연결하는 경우 해당 명령을 입력하면 다음과 같은 오류가 반환됩니다.
command not found
왜 그럴까요? 이것이 달성 가능한 일입니까? 감사해요!
답변1
메모장은 Windows 디스플레이 서버를 사용하지만 SSH 클라이언트는 X 서버를 기대하기 때문에 불가능합니다.
X 서버 전달을 지원하는 메모장 대신 gedit와 같은 것을 설치할 수 있습니다.
그런 다음 다음을 사용하여 서버에 SSH를 통해 연결할 수 있습니다
ssh -Y user@host
답변2
프로그램을 실행하기 전에 이 명령을 사용해 보세요.
su <username> -
SSH를 원격으로 사용할 때 powershell이나 cmd를 실행하려고 할 때 비슷한 문제가 발생했습니다. 해당 폴더에서 powershell을 직접 실행하면 세션이 중단되고 취소할 방법이 없습니다. 문제는 당신의 환경에 있습니다.
답변3
wsl 시스템(호스트)에 sshd를 설정하고 client-cmd의 ssh 명령을 사용하여 Windows 10 시스템(클라이언트)에서 ssh를 설정한 다음 를 사용하여 호스트 cmd에 액세스하려고 하면 /mnt/c/Windows/System32/cmd.exe
클라이언트가 얼었다.
그러나 클라이언트에서도 wsl 세션을 시작하고 거기에서 호스트를 연결하면 정지 현상이 발생하지 않으며 호스트 cmd에 액세스할 수 있습니다.
따라서 openssh의 Linux(ubuntu) 버전은 작동하지만 Windows 버전은 작동하지 않는 것 같습니다.
재미있는 사실: 위에 설명된 대로 호스트에서 cmd 액세스 권한을 얻고 를 입력하면 notepad.exe
호스트에서 GUI를 사용하여 메모장이 열립니다.
답변4
정확한 경로를 알고 있으면 "command"를 사용하여 실행할 수 있습니다.
command /mnt/c/windows/system32/ipconfig.exe