와인에 일부 CD 기반 Windows 교육 소프트웨어를 설치했는데 기본 위치 G:/media/user/cdname/ D:/media /에서 경로를 수동으로 변경하지 않으면 디스크를 찾을 수 없는 몇 가지 이유를 제외하고는 잘 작동했습니다. user/cdname/이지만 새 CD를 넣을 때마다 G:/...로 다시 재설정됩니다. 이 위치를 D로 영구적으로 변경할 수 있는 방법이 있나요? 하드 드라이브에서 가상으로 마운트하기에는 디스크가 너무 많습니다.
이것은 우분투 19.04 및 와인 4.7에 있습니다.
편집 - 출력은 다음과 ls -l ~/.wine/dosdevices
같습니다
total 0
lrwxrwxrwx 1 user_family user_family 10 Apr 30 18:08 c: -> ../drive_c
lrwxrwxrwx 1 user_family user_family 27 May 2 11:56 d: -> /media/user_family/Geom-9
lrwxrwxrwx 1 user_family user_family 8 May 2 11:43 d:: -> /dev/sr0
lrwxrwxrwx 1 user_family user_family 1 May 1 14:16 e: -> /
lrwxrwxrwx 1 user_family user_family 8 Apr 30 18:08 f:: -> /dev/sde
lrwxrwxrwx 1 user_family user_family 27 May 2 11:43 g: -> /media/user_family/Geom-9
lrwxrwxrwx 1 user_family user_family 8 May 1 15:33 g:: -> /dev/sr0
lrwxrwxrwx 1 user_family user_family 8 Apr 30 18:08 h:: -> /dev/sdc
lrwxrwxrwx 1 user_family user_family 8 Apr 30 22:15 i:: -> /dev/sdf
lrwxrwxrwx 1 user_family user_family 19 May 1 14:38 j: -> /home/user_family
lrwxrwxrwx 1 user_family user_family 8 May 2 11:44 k:: -> /dev/sdd
lrwxrwxrwx 1 user_family user_family 1 Apr 30 18:08 z: -> /
TelcoM의 솔루션을 따르면 필요에 따라 CD 드라이브가 올바른 D:/ 위치에 표시됩니다. 하지만 winecfg
새 디스크를 넣거나 위치가 기존 디스크를 가리킬 때마다 프로그램에 들어가서 CD 없음 오류가 발생합니다. 새 디스크에 대한 포인터를 업데이트하기 위해 매번 winecfg를 실행하는 것만으로도 충분하지만 편집하지 않고도 프로그램을 시작할 수 있었으면 좋겠습니다. 종료 외에 winecfg를 변경하지 않은 터미널 출력은 다음과 같습니다.
user_family@user-pc-home:~$ ls -l ~/.wine/dosdevices
total 0
lrwxrwxrwx 1 user_family user_family 10 Apr 30 18:08 c: -> ../drive_c
lrwxrwxrwx 1 user_family user_family 27 May 3 09:25 d: -> /media/user_family/Alg2-2
lrwxrwxrwx 1 user_family user_family 8 May 2 11:43 d:: -> /dev/sr0
lrwxrwxrwx 1 user_family user_family 1 May 1 14:16 e: -> /
lrwxrwxrwx 1 user_family user_family 8 Apr 30 18:08 f:: -> /dev/sde
lrwxrwxrwx 1 user_family user_family 8 Apr 30 18:08 h:: -> /dev/sdc
lrwxrwxrwx 1 user_family user_family 8 Apr 30 22:15 i:: -> /dev/sdf
lrwxrwxrwx 1 user_family user_family 19 May 1 14:38 j: -> /home/user_family
lrwxrwxrwx 1 user_family user_family 8 May 2 11:44 k:: -> /dev/sdd
lrwxrwxrwx 1 user_family user_family 1 Apr 30 18:08 z: -> /
user_family@user-pc-home:~$ winecfg
000b:fixme:winediag:start_process Wine Staging 4.7 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
0019:fixme:ntoskrnl:ObDereferenceObject failed to release 0x1bc50
0019:fixme:ntoskrnl:ObDereferenceObject failed to release 0x1cd40
0019:fixme:ntoskrnl:ObDereferenceObject failed to release 0x1bb70
user_family@user-pc-home:~$
user_family@user-pc-home:~$ ls -l ~/.wine/dosdevices
total 0
lrwxrwxrwx 1 user_family user_family 10 Apr 30 18:08 c: -> ../drive_c
lrwxrwxrwx 1 user_family user_family 28 May 3 09:36 d: -> /media/user_family/Geom-10
lrwxrwxrwx 1 user_family user_family 8 May 2 11:43 d:: -> /dev/sr0
lrwxrwxrwx 1 user_family user_family 1 May 1 14:16 e: -> /
lrwxrwxrwx 1 user_family user_family 8 Apr 30 18:08 f:: -> /dev/sde
lrwxrwxrwx 1 user_family user_family 8 Apr 30 18:08 h:: -> /dev/sdc
lrwxrwxrwx 1 user_family user_family 8 Apr 30 22:15 i:: -> /dev/sdf
lrwxrwxrwx 1 user_family user_family 19 May 1 14:38 j: -> /home/user_family
lrwxrwxrwx 1 user_family user_family 8 May 2 11:44 k:: -> /dev/sdd
lrwxrwxrwx 1 user_family user_family 1 Apr 30 18:08 z: -> /
user_family@user-pc-home:~$
제가 너무 구체적으로 말한 것 같아서 D:\media\user-family\
winecfg에서 더 높은 수준의 폴더를 사용해 보고 새 디스크를 넣으면 적절한 하위 폴더가 자동으로 선택되기를 바랐지만 작동하지 않았고 winecfg에서 다시 작성했습니다. 어쨌든 전체 경로는 winecfg를 두 번째로 실행할 때 발생합니다.
답변1
디렉토리 내에서 및 심볼릭 링크는 ~/.wine/dosdevices
모두 CD의 마운트 지점을 가리키며 둘 다 CD 드라이브의 장치를 가리킵니다.d:
g:
/media/user_family/Geom-9
d::
g::
/dev/sr0
Wine이 실행되지 않을 때 추가 g:
기호 링크를 제거하십시오.g::
rm ~/.wine/dosdevices/g: ~/.wine/dosdevices/g::
중복 항목을 제거한 후에도 CD 드라이브는 D:로 유지되어야 합니다.
udisks2
두 번째 문제는 각 디스크가 서로 다른 경로에 마운트된다는 점입니다. 이는 하위 시스템을 사용하여 이동식 장치를 처리한 결과입니다. 보안상의 이유로 udisks2
설치를 요청하는 사용자는 어떤 방식으로든 설치 지점 선택에 영향을 줄 수 없습니다.
기본적으로 모든 로컬 사용자의 위치에 CD가 마운트됩니다 /media/<username>/<CD volume name>
. CD 드라이브에 적용되는 udev 규칙을 설정하면 ENV{UDISKS_FILESYSTEM_SHARED}="1"
기본 경로를 /media/<CD volume name>
.저것wine
이것은 적어도 아직까지는 기대하도록 프로그래밍되지 않은 것입니다 .
하지만 다음 줄을 파일에 넣어볼 수 있습니다 /etc/fstab
.
/dev/sr0 /media/cdrom iso9660,udf ro,noauto,user 0 0
sudo mkdir /media/cdrom
그런 다음 모든 CD의 마운트 지점으로 사용될 빈 디렉토리를 만드는 데 사용됩니다 .
이는 CD 드라이브 처리를 무시 udisks2
하고 볼륨 레이블에 관계없이 CD를 특정 마운트 지점에 마운트해야 함을 시스템에 알려야 합니다. 이는 Linux에서 CD 드라이브를 사용하는 구식 방식이며 wine
현재 예상되는 방식입니다.
/etc/fstab
그러나 CD 드라이브가 다음 목록에 있는 경우 완전히 건너뛸 수도 있고 건너뛸 수도 없습니다 udisks2
. CD 드라이브의 GUI 기반 설치 기능이 손실될 수 있습니다(Ubuntu 19.04에서는 확인하지 않았습니다). 그러나 그렇다면 이제 를 mount /media/cdrom
사용하지 않고도 일반 사용자로서 및 명령을 사용할 수 있습니다. 따라서 세 가지 명령을 사용한 스크립팅은 매우 간단합니다.umount /media/cdrom
sudo
#!/bin/sh
mount /media/cdrom # mount the CD before starting wine
wine <your educational program and its options, if any>
umount /media/cdrom # unmount the CD after wine exits
...그런 다음 해당 스크립트(아마도 멋진 GUI 아이콘이나 메뉴 항목으로 표시)를 사용하여 교육 프로그램을 실행합니다.