저는 일부 오래된 Windows 응용 프로그램을 실행하기 위해 Linux 서버에서 Wine을 실행하고 있습니다.
이제 스크립트가 실행되고 있는지 확인하는 스크립트를 작성해야 합니다.
서버에 SSH 연결을 생성하고 애플리케이션을 시작할 수 있습니까?
예를 들어, 내가 데스크탑에 있다면 터미널 창을 열고 다음을 실행하세요.
wine "Z:\home\user\Desktop\application"
응용 프로그램이 열립니다. 하지만 SSH를 통해 연결하고 실행하면
wine "Z:\home\user\Desktop\application"
나는 얻다:
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
err:systray:initialize_systray Could not create tray window
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
내 생각엔 그걸 말해야 할 것 같아어디그냥 실행하는 대신 애플리케이션을 시작했지만 수행 방법을 모르시나요?
추가 정보:
저는 현재 Windows PC에서 작업 중이며 Putty를 사용하여 Linux/Wine 서버에 연결하고 있습니다. (데스크톱을 볼 수 있도록 RDP 연결도 있습니다.)
장기적으로 이 스크립트를 Linux/Wine 서버에 SSH로 연결하여 관리할 다른 Linux 서버(MgmtSrv)에서 실행할 것입니다. MgmtSrv는 Wine을 설치하지 않았으며 X-Display를 설정하지 않았습니다.
답변1
짐작할 수 있듯이 Wine에 애플리케이션을 표시할 위치를 알려주어야 합니다. Wine 서버에는 X 모니터가 있으므로 다음과 같을 수 있습니다 :0
.
DISPLAY=:0 wine ...
이렇게 하면 문제가 해결됩니다(X 인증 쿠키가 괜찮다고 가정하고 그렇지 않은 경우 Invalid MIT-MAGIC-COOKIE
오류 메시지가 표시됩니다).
답변2
애플리케이션 유형에 따라 다음 접근 방식을 취할 수 있습니다.
- 애플리케이션이 콘솔 기반(그래픽 없음)인 경우 다음을 사용하세요.
wineconsole
(아니요wine
). DISPLAY
X 서버가 설치되어 있는 경우 올바른 화면을 가리키도록 변수를 지정해야 합니다 .- 다음을 통해 애플리케이션을 실행하려는 경우X11 전달,구성
X11Forwarding
SSH 구성에서. - 그래픽 프로그램을 헤드리스로 실행하려면 설치를 고려하십시오.X 가상 프레임버퍼.
답변3
일반 사용자로 로그인하면 이 문제를 해결할 수 있습니다.
질문:
/root *# wine .....
문제를 해결하세요:
/root # exit
해결책:
/normal_user> ./wine yourappname OR ./wine64 yourappname