Wine에서 루트로 Python을 실행할 수 없습니다.

Wine에서 루트로 Python을 실행할 수 없습니다.

Wine 7에 Python 3.10.8을 설치했습니다. pip를 사용하여 모듈을 다운로드하려면 인터넷에 액세스하기 위한 와인이 필요합니다. 그러나 sudo를 사용하지 않으면 와인은 인터넷에 액세스할 수 없습니다. 다음을 실행하면 wine ping google.com핑 테스트가 실패합니다 .

ali@frozen-flower:~$ wine ping google.com
Pinging google.com [216.239.38.120] with 32 bytes of data:
PING: transmit failed. General failure.
PING: transmit failed. General failure.
PING: transmit failed. General failure.
PING: transmit failed. General failure.

Ping statistics for 216.239.38.120
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)

sudo의 도움으로 모든 것이 잘 작동합니다.

ali@frozen-flower:~$ sudo wine ping google.com
Pinging google.com [216.239.38.120] with 32 bytes of data:
Reply from 216.239.38.120: bytes=32 time=70ms TTL=102
Reply from 216.239.38.120: bytes=32 time=89ms TTL=102
Reply from 216.239.38.120: bytes=32 time=73ms TTL=102
Reply from 216.239.38.120: bytes=32 time=71ms TTL=102

Ping statistics for 216.239.38.120
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Approximate round trip times in milli-seconds:
        Minimum = 70ms, Maximum = 89ms, Average = 76ms

문제는 sudo를 사용하여 Wine에서 Python을 실행하려고 할 때 다음 오류가 발생한다는 것입니다.

ali@frozen-flower:~$ sudo wine python
Application could not be started, or no application associated with the specifie
d file.
ShellExecuteEx failed: File not found.

sudo를 사용하지 않으면 Python이 실행됩니다.

ali@frozen-flower:~$ wine python
Python 3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:50:30) [MSC v.1933 64 bit (
AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

내 우분투 버전은 22.10입니다.

이 문제를 어떻게 해결할 수 있나요?

답변1

몇 가지 조사 끝에 문제의 원인을 찾았습니다. Wine을 설치할 때 winecfg명령을 사용하여 구성해야 합니다. 를 사용하지 않고 이 명령을 실행하면 sudoWine은 .wine그 안에 폴더(예: )를 생성 /home/$user하지만, 실행하면 해당 폴더 아래에 sudo winecfg폴더 .wine가 생성됩니다 /root. 이는 컴퓨터에 두 개의 Wine 인스턴스가 있다는 의미입니다. 일부 사이트에서 Wine을 실행하면 sudo일부 응용 프로그램이 인터넷에 연결될 수 있다는 내용을 읽었습니다 (일부 다른 응용 프로그램은 이를 사용하지 않고도 인터넷에 액세스할 수 있지만 sudo이는 일부 응용 프로그램에서 인터넷에 연결하려면 특정 유형의 응용 프로그램을 만들어야 함을 의미함). 루트가 아니면 생성할 수 없는 소켓입니다. 따라서 사용 중인 Wine 인스턴스에 Python을 설치해야 합니다 /root/.wine(즉, Run Python 설치 프로그램 사용 sudo wine).

관련 정보