winecfgの特定の場所からCDドライブを永久に回復する方法

winecfgの特定の場所からCDドライブを永久に回復する方法

ワインにいくつかのCDベースのWindowsトレーニングソフトウェアをインストールしましたが、デフォルトの場所G:/media/user/cdname/ D:/media /でパスを手動で変更しない限り、ディスクが見つからない理由を除いてうまくいきました。 。 user/cdname/ ですが、新しい CD を挿入するたびに G:/... にリセットされます。この場所をDに永久に変更する方法はありますか?ハードドライブから仮想的にマウントするには、ディスクが多すぎます。

これはUbuntu 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を2回目に実行したときに発生します。

答え1

ディレクトリ内とシンボリックリンクは~/.wine/dosdevicesどちらもCDのマウントポイントを指し、両方ともCDドライブのデバイスを指します。d:g:/media/user_family/Geom-9d::g::/dev/sr0

Wineが実行されていない場合は、追加のg:シンボリックリンクを削除してください。g::

rm ~/.wine/dosdevices/g: ~/.wine/dosdevices/g::

重複エントリを削除した後も、CDドライブはD:のままにする必要があります。


udisks22番目の問題は、各ディスクが異なるパスにマウントされることです。これは、サブシステムを使用してリムーバブルデバイスを処理した結果です。セキュリティ上の理由から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使用せずに通常のユーザーとしてコマンドを使用できます。したがって、3つのコマンドを使用したスクリプトは非常に簡単です。umount /media/cdromsudo

#!/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アイコンまたはメニュー項目として表示)を使用してトレーニングプログラムを実行します。

関連情報