私はLinuxベテランで、MS-DOS以降Windowsを使用してきたにもかかわらず、Windowsにはあまり慣れていません。
新しいWindows 11コンピュータを購入し、WSLにGUI機能を備えたDebianをインストールしようとしています。 DebianにWSLバージョン2を正常にインストールしました。主に私が得るものは単にbashシェルです。 Microsoftの推奨事項に従おうとしましたが、apt install gedit -y
エラーメッセージ(package gedit not found
)が表示されました。
他の投稿から "lsb-release"をインストールする必要があると読んでいましたが、再びlsb-releaseをインストールしようとすると見つかりませんでした。
WSLでこれらを見つけるのは難しいDebianソフトウェアツールを見つける方法は?私が考えることができるすべてを試しましたが、Windowsのインストールを中断したくありません。
WSLのGUIイメージを含むDebianは、カラフルなグラフィックと見つけやすいソフトウェアを示しています。どうやって参加できますか?
答え1
これしなければならない少なくとも初心者にとってはとても簡単です。 WSLにDebianを新しくインストールして再現しました。インストールソリューションを提供できますが、注意事項を最後までお読みください。
新しくインストールした後:
$ sudo apt install gedit -y
E: Unable to locate package gedit
これは、ほとんどのWSLディストリビューション(Dockerイメージなど)には、帯域幅を節約するために埋め込まれたストレージキャッシュが提供されていないためです。
$ sudo apt update
$ sudo apt install gedit -y
その時は(ほとんど)期待通りに動作します。
もちろん、これは新しくインストールするので、次のことをお勧めします。
sudo apt upgrade
ガイドライン
Gnomeソフトウェアは、基本的gedit
にWSLで実行されていないD-Busや他のサービスへの依存度が高くなります。 D-Busは通常Debian(および他のほとんどのディストリビューション)でSystemdデバイスとプロセスによって起動されますが、WSLは通常Systemdをサポートしません(実際には私が議論した別のトピックです)。今日提供されている別の答え)。
D-busなしで上記で実行すると、gedit
一部の機能が低下し、一部のサポートサービスが開始されません。若干のエラーが発生し、みんな実行する内容は次のとおりです。状態を確認する別のセッションgedit
は次のとおりです。ps -eH
PID TTY TIME CMD
1 ? 00:00:00 init
7 ? 00:00:00 init
8 ? 00:00:00 init
9 pts/0 00:00:00 bash
11 pts/0 00:00:00 gedit
20 ? 00:00:00 init
21 ? 00:00:00 init
22 pts/1 00:00:00 bash
28 pts/1 00:00:00 ps
29 pts/1 00:00:00 bash
この問題は広範囲にわたってテストされていませんが、gedit
少なくとも以下をインストールするとこの問題を解決できるようです。
sudo apt install dbus-x11
gedit
これにより、D-busを使用して実行が自動的に開始されますdbus-launch
。その結果、多くの依存サービスが開始されていることがわかります。
UID PID PPID C STIME TTY STAT TIME CMD
0 1 0 0 22:03 ? Sl 0:00 /init
0 7 1 0 22:03 ? Ss 0:00 /init
0 8 7 0 22:03 ? S 0:00 /init
1000 9 8 0 22:03 pts/0 Ss 0:00 -bash
1000 11 9 0 22:03 pts/0 Sl+ 0:00 gedit
1000 16 8 0 22:03 pts/0 S+ 0:00 dbus-launch --autolaunch=51f357b828e646fc889cfee60effb53c --binary-syntax --close-stderr
1000 17 8 0 22:03 ? Ss 0:00 /usr/bin/dbus-daemon --syslog-only --fork --print-pid 5 --print-address 7 --session
1000 23 8 0 22:03 ? Sl 0:00 /usr/libexec/at-spi-bus-launcher
1000 28 23 0 22:03 ? S 0:00 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
1000 30 8 0 22:03 ? Sl 0:00 /usr/libexec/xdg-desktop-portal
1000 35 8 0 22:03 ? Sl 0:00 /usr/libexec/xdg-document-portal
0 44 35 0 22:03 ? Ss 0:00 fusermount -o rw,nosuid,nodev,fsname=portal,auto_unmount,subtype=portal -- /mnt/wslg/runtime-dir/doc
1000 39 8 0 22:03 ? Sl 0:00 /usr/libexec/xdg-permission-store
1000 49 8 0 22:03 ? Sl 0:00 /usr/libexec/xdg-desktop-portal-gtk
1000 55 8 0 22:03 ? Sl 0:00 /usr/libexec/at-spi2-registryd --use-gnome-session
1000 59 8 0 22:03 ? Sl 0:00 /usr/libexec/dconf-service
0 68 1 0 22:03 ? Ss 0:00 /init
0 69 68 0 22:03 ? S 0:00 /init
1000 70 69 0 22:03 pts/1 Ss 0:00 -bash
1000 93 70 0 22:05 pts/1 R+ 0:00 ps n -efH
1000 94 70 0 22:05 pts/1 D+ 0:00 -bash
Gnomeとgeditには通常、完全な「デスクトップ」Debianのインストールから起動するか、Systemdによって起動される追加のサービスやパッケージが必要な他の機能がまだあります。
たとえば、 のごみ箱機能は と で提供gedit
され、両方ともWSLにデフォルトでインストールされていません。これらなしで確認しようとすると。gio
gvfs
gedit
解決するそれ:
sudo apt install gvfs libglib2.0-bin
そしてもう一つ
まあ、まず(ついに?)WSLへようこそ。以前のLinuxの経験に言及したので、WSLについて理解する必要がある重要な点はいいえ物理(または仮想)マシンと同じです。 WSLでDebianを実行すると、実際には独自のPID名前空間で実行されます。~へアクセスできない仮想マシン(Windowsの仮想マシンプラットフォーム機能)Dockerコンテナで実行されているディストリビューションに似ています。
「一般」LinuxとWSLの間に生じるほとんどの違いは、これに由来します。シャットダウン/再起動もなく、Systemdもなく、ネットワーキングはWindows(Linuxではない)で提供され、これに対する制御権があまりないという事実などがあります。