Linux 환경을 설정하기 위해 일부 자동화 스크립트를 설정하려고 합니다. 사용자가 실제로 GUI를 사용하지 않고도 원격 데스크톱 공유를 활성화하고 싶습니다. 내 계획은 가능하다면 이를 자동화하기 위해 일부 파일을 편집할 수 있는 배치 스크립트를 작성하는 것입니다.
저는 Fedora 16과 Gnome을 사용하고 있습니다.
저는 다음과 같은 목표를 달성하고 싶습니다. http://docs.fedoraproject.org/en-US/Fedora/13/html/User_Guide/chap-User_Guide-Sharing_your_desktop.html
편집할 파일에 대한 조언을 주시면 감사하겠습니다.
답변1
제가 올바르게 이해했다면, gnome이나 다른 환경을 있는 그대로 원격으로 공유하고 싶다면 이를 달성하는 가장 쉬운 방법은 x11vnc를 사용하는 것입니다. 사용자가 로그인할 때와 마찬가지로 실제 X11 서버를 공유합니다.
x11vnc -display :0
또는 로그인 후 vnc 서버를 실행하려면 다음 스크립트를 사용하여 이를 자동화할 수 있습니다.
#!/bin/bash
/usr/bin/x11vnc -nap -wait 50 -noxdamage -passwd PASSWORD -display :0 -forever -o /var/log/x11vnc.log -bg
이 스크립트를 gnome의 시작 프로그램에 배치하여 사용자가 로그인할 때 자동으로 실행되도록 할 수 있습니다. 세션 PASSWORD 변수는 파일을 읽을 수 있는 모든 사람에게 명확하게 표시되고 비밀번호를 아는 사람은 누구나 vnc 세션에 연결할 수 있으므로 이 스크립트는 안전하지 않습니다. (이 경우 비밀번호는 원격 연결 8개의 기호 단어입니다. 물었을 때). 보다 안전한 연결을 원한다면 vnc ssh 터널 방법을 검색하세요.
답변2
내가 가장 좋아하는 원격 연결 방법은 vino를 사용하는 것입니다. x11vnc와 유사하지만 설정하기가 더 쉽습니다(보통 GUI를 사용하지만). Vino가 활성화되면 gnome은 시작할 때마다 활성 세션(현재 로그인된 세션)의 vnc 연결을 허용하도록 설정됩니다. 화면에 열려 있는 모든 창이나 응용 프로그램은 VNC 연결 내에서 볼 수 있습니다.
일반적인 상황에서는(예: GUI를 통해) 다음을 실행하여 설정하면 충분합니다.
$ vino-preferences
GUI가 없으면 설정 변경을 사용해야 합니다 gsettings
. 그것은 마치
$ gsettings set org.gnome.Vino enabled true
$ gsettings set org.gnome.Vino view-only true
$ gsettings set org.gnome.Vino authentication-methods "['vnc']"
$ gsettings set org.gnome.Vino prompt-enabled false
$ gsettings set org.gnome.Vino require-encryption true
합리적인 값의 원격 데스크톱이 활성화됩니다. dconf-editor
옵션을 열고 탐색하면 전체 옵션 목록과 해당 효과에 대한 설명을 볼 수 있습니다 desktop.gnome.remote-access
.
컴퓨터에 여러 사용자가 있는 경우 각 사용자에 대해 Vino를 설정해야 합니다.
원격 세션에 연결하려면 표준 vnc 클라이언트를 사용할 수 있습니다. 그러나 라우터 펌웨어의 포트 5900을 연결하려는 컴퓨터로 전달해야 합니다. 또는 이러한 시스템에 대한 SSH 연결도 허용하는 경우 SSH 터널을 통해 vnc를 사용하는 것이 더 쉽고 안전할 수 있습니다. 로컬 컴퓨터에서:
ssh -L 5900:localhost:5900 <remote server>
그런 다음 vnc 클라이언트를 열고 127.0.0.1:5900에 연결한 후 원격 서버의 사용자 이름과 비밀번호를 사용하여 로그인합니다.
답변3
다음 스크립트를 사용하여 원격 SSH 연결에서 새로운 Ubuntu 16.04 설치를 설정할 수 있습니다.
#!/bin/bash
export DISPLAY=:0
read -e -p "VNC Password: " -i "ubuntu" password
dconf write /org/gnome/desktop/remote-access/enabled true
dconf write /org/gnome/desktop/remote-access/prompt-enabled false
dconf write /org/gnome/desktop/remote-access/authentication-methods "['vnc']"
dconf write /org/gnome/desktop/remote-access/require-encryption false
dconf write /org/gnome/desktop/remote-access/vnc-password \"\'$(echo -n $password | base64)\'\"
dconf dump /org/gnome/desktop/remote-access/
sudo service lightdm restart
모든 문자열 설정에는 따옴표가 중요합니다(따옴표 안의 작은따옴표).
dconf
작성할 수 있으려면 XWindows에 대한 액세스가 필요하므로 해당 export DISPLAY
부분이 필요합니다. 이 후에도 VNC에 연결하려면 실제 Ubuntu 시스템의 데스크탑에 로그인해야 한다고 생각합니다.
dump 명령은 모든 설정이 적용되었는지 확인하기 위한 것이며 실제로는 필요하지 않습니다.
답변4
데스크탑에 액세스해야 하는 경우 일반적으로 SSH를 통해 로그인하고 "x11vnc"를 실행한 다음 VNC를 사용하여 연결합니다.