저는 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에서 이러한 찾기 힘든 데비안 소프트웨어 도구를 찾는 방법은 무엇입니까? 제가 생각할 수 있는 모든 것을 시도했지만 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가 아님)에서 제공되며 이에 대한 제어권이 별로 없다는 사실 등이 있습니다.