Làm cách nào để thay đổi trình quản lý cửa sổ trên Raspberry Pi?


7

Tôi muốn dùng thử X11 trên Raspberry Pi (chạy như một máy chủ không có kết nối hiển thị, OS Raspbian) và truy cập nó thông qua VNC.

Tôi không thích LXDE lắm, vì vậy tôi muốn đổi sang một trình quản lý cửa sổ khác. Tôi đã thử nhiều thứ, nhưng LXDE luôn bắt đầu.

Các gói sau được cài đặt:

sudo aptitude install x-window-system xfce4 xfce4-themes x11vnc icewm fluxbox gnome tightvncserver

Tôi đang chạy máy chủ với lệnh sau:

vncserver -geometry 800x600 :0

Khi tôi kết nối với Raspberry Pi bằng RealVNC, tôi đến với máy tính để bàn LXDE.

Những gì tôi đã cố gắng cho đến nay:

Tôi đã chạy sudo update-alternatives --config x-window-managervà thay đổi nó từ openbox thànhxfwm4

$ update-alternatives --config x-window-manager
Es gibt 5 Auswahlm¦glichkeiten f¦r die Alternative x-window-manager (welche /usr/bin/x-window-manager bereitstellen).

  Auswahl      Pfad                   Priorit¦t  Status
------------------------------------------------------------
  0            /usr/bin/openbox        90        Auto-Modus
  1            /usr/bin/icewm          50        manueller Modus
  2            /usr/bin/metacity       60        manueller Modus
  3            /usr/bin/openbox        90        manueller Modus
  4            /usr/bin/startfluxbox   50        manueller Modus
* 5            /usr/bin/xfwm4          60        manueller Modus

Tôi đã chỉnh sửa /etc/X11/default-display-managervà thay đổi nó từ /usr/sbin/lightdmthành /usr/bin/icewm.

Sau khi khởi động lại hệ thống, tôi chạy lại vncserver và một lần nữa tôi đến LXDE.

Tôi đang thấy openbox và lxsession trong danh sách quy trình:

$ ps aux | grep lx
daniel    3604  0.0  0.3  12904  1516 pts/0    Sl   01:39   0:00 /usr/bin/lxsession -s LXDE -e LXDE
daniel    3614  0.1  1.3  15268  6160 pts/0    S    01:39   0:00 openbox --config-file /rasdata/profiles/daniel/.config/openbox/lxde-rc.xml
daniel    3616  0.6  2.2 113392 10060 pts/0    S    01:39   0:02 lxpanel --profile LXDE
daniel    3632  0.0  1.0  26352  4680 pts/0    Sl   01:39   0:00 /usr/lib/arm-linux-gnueabihf/lxpolkit
daniel    3684  0.0  0.1   3836   816 pts/0    S+   01:46   0:00 grep lx

Tôi hiện không chắc chắn tôi muốn có trình quản lý cửa sổ nào. Tôi sẽ thử tất cả và tìm ra thứ mà tôi thích nhất. Hiện tại tôi đang cố gắng tìm cách thay đổi nó bằng cách nào đó khỏi LXDE.

Tôi rất thích KDE, nhưng dường như nó không được đưa vào Raspbian. Các gói không thể được tìm thấy trong năng khiếu.


1
Không phải chỉ cần loại bỏ LXDE là đủ sao?
Braiam

Như bạn có thể thấy trong dòng lệnh aptitude của tôi, tôi chưa bao giờ cài đặt lxde một cách rõ ràng. Vì vậy, nó có thể là một sự phụ thuộc của một cái gì đó khác nhau. Ngoài ra, tôi thấy rằng leafpad yêu cầu lxde và tôi thích trình soạn thảo này. Ngoài ra, phải có khả năng chuyển sang một windowmanager / desktopmanager khác mà không cần gỡ cài đặt nó.
Daniel Marschall

Câu trả lời:


5

X11 đã có trên máy tính của bạn

X11 đã được cài đặt trên hệ thống của bạn. Về cơ bản tất cả các bản phân phối Linux đều sử dụng nó. LXDE chạy trên đầu Xorg. Wayland đang trở thành lựa chọn thay thế phổ biến cho X Windows, nhưng vẫn còn lỗi. Tôi sẽ đợi để chuyển sang nó. Vì vậy, điều tôi đang nói là bạn đã sử dụng X11. Nếu không, tôi sẽ vô cùng bối rối.

Những gì bạn muốn làm là cài đặt một trình quản lý windows mới, đó là LXDE. Enlightenment và Openbox là những lựa chọn thay thế tốt mà nhẹ. KDE là yêu thích của tôi, nhưng nó nặng hơn một chút. Với Rasp pi tôi sẽ dính nhẹ mặc dù. Nếu bạn không kết nối nó với màn hình, thì tôi đề nghị một hệ thống không đầu và chỉ sử dụng tùy chọn -X với ssh.

Cài đặt trình quản lý Windows mới

Cài đặt trình quản lý windows mới sau đó chỉnh sửa .xinitrc để nó khởi động trình quản lý chính xác.

Ví dụ: nếu bạn muốn sử dụng KDE thì hãy cài đặt KDE ( #apt-get install kdehoặc #apt-get install kdebase, tốt hơn cho số pi nhưng sẽ yêu cầu thiết lập nhiều hơn một chút) và sau đó thay đổi tệp .xinitrc của bạn. Bạn sẽ thấy exec startlxdecần phải thay đổi thànhexec startkde

Lệnh exec sẽ thay đổi theo sở thích của bạn về trình quản lý windows.

SSH vào pi của bạn

Bây giờ nếu bạn đang sshing vào pi của bạn và muốn chạy một chương trình đồ họa thì bạn cần phải làm

ssh -X user@raspberry-pi-address:portnumber; gtk-program

Điều này sẽ vẫn hoạt động nếu bạn đang sử dụng một hệ thống không đầu mà không có trình quản lý cửa sổ. Điều này cũng sẽ nhanh hơn nhiều so với sử dụng vnc. Về cơ bản, nếu bạn không kết nối pi của mình với màn hình thì hãy làm điều này.


Tôi đề nghị xóa ": portnumber;" từ lệnh ssh. Số cổng có mặc định tiêu chuẩn và dấu chấm phẩy phá vỡ lệnh.
tộc

Tôi có thể chỉnh sửa nó, nhưng bạn nên chỉnh sửa / etc / ssh / sshd_config để nó không nằm trên cổng mặc định. Nếu nó chỉ có thể truy cập được từ mạng nội bộ thì bạn vẫn có thể truy cập vào ngày 22, nhưng nếu bạn cho phép truy cập từ bên ngoài thì bạn nên đổi nó thành số cổng ngẫu nhiên vì lý do bảo mật.
Steven Walton

Có một vài vấn đề ... (1) Các gói "kde" hoặc "kdebase" không có sẵn (không tìm thấy ứng cử viên). (2) Không có tệp .xinitrc và khi tôi tạo một tệp (ví dụ: có nội dung !#bin/bash [new line] icewm-session), nó sẽ bị bỏ qua. (3) Tôi đang chạy nó ở VNC vì thật khó chịu khi mọi cửa sổ đều được đưa vào thanh tác vụ Windows của tôi khi tôi sử dụng SSH với X-redirect. Tôi chỉ muốn có một máy tính để bàn linux với các chương trình đã mở, tách biệt với các chương trình Windows của tôi.
Daniel Marschall

Hãy thử "apt-cache kde" (hoặc kdebase, kde-base) để tìm nó. Nó có thể được dán nhãn khác nhau trong repo của bạn. Mặc dù nó nên được gọi là kde (sử dụng "| sort" để giúp định vị). .xinitrc nên được bao gồm. Nếu không, hãy làm cho riêng bạn. tệp .xinitrc là tệp khởi tạo x. Vì vậy, ngay khi x bắt đầu, nó thực thi các dòng này (giống như cách bashrc chạy ngay khi bạn chạy một thiết bị đầu cuối). Hãy thử "sudo find / -name .xinitrc" để xem nó có ở bất cứ đâu không. Và tôi đảm bảo với bạn, sẽ nhanh hơn khi thực hiện chuyển tiếp X. VNC khá chậm và cồng kềnh. Không có nghĩa cho pi mâm xôi.
Steven Walton

Các gói không có ở đó. Như tôi đã nói, tôi đã tạo .xinitrc của riêng mình (tìm thấy không tìm thấy ai khác), nhưng nó bị bỏ qua hoặc các lệnh không thành công do trình quản lý cửa sổ khác (lxsession) đã chạy (đây là thông báo tôi nhận được khi tôi cố chạy bất kỳ trình quản lý cửa sổ khác) .X-Forwarding thực sự không giúp ích gì, trừ khi có khả năng có một cửa sổ X chứa toàn bộ máy tính để bàn và tất cả các cửa sổ. Ngay lúc này, Windows thậm chí còn ẩn thanh tác vụ Windows của tôi. Không thể làm việc với một cái gì đó tương tự: imgur.com/kOhVcrS . Ngoài ra, tôi có một số biểu tượng trong thanh tác vụ của mình chỉ với biểu tượng "X".
Daniel Marschall

2

Câu trả lời dễ hơn mong đợi. Chỉ cần cài đặt xrdpvà tôi có thể tận hưởng môi trường máy tính để bàn Linux đầy đủ trên máy Windows của mình mà không cần phải có 20 X-Windows chạy xung quanh.

Ngoài ra, điều quan trọng là phải biết sự khác biệt giữa "Trình quản lý cửa sổ", "Trình quản lý phiên", "Trình quản lý hiển thị". Than ôi, không ai giải thích rằng tôi có thể đã sử dụng các thuật ngữ sai và tôi rất bối rối về chúng, vì vậy tôi không biết trong số 3 điều này tôi cần thay đổi để có được "GUI mới".


1

Tôi cho rằng nó hơi muộn, nhưng trong trường hợp người khác đang giải quyết vấn đề tương tự, đây là những gì đang xảy ra.

Lý do bạn bối rối vì điều này là vì phiên chạy trên máy chủ VNC và phiên chạy trên máy tính để bàn cục bộ không phải liên quan với nhau. Trên thực tế, chúng sẽ chỉ liên quan nếu bạn thực sự chạy GUI cục bộ và sau đó phục vụ cụ thể (các máy chủ Vino (cho Gnome), krfb (cho KDE) và x11vnc sẽ phục vụ các phiên cục bộ theo mặc định). Có vẻ như GUI cục bộ không được chạy, vì vậy tất cả các thay đổi bạn thực hiện thường ảnh hưởng đến nó sẽ không làm gì cả vì nó không bao giờ bắt đầu.

Khi bạn chạy một máy chủ VNC ngoài GUI cục bộ, nó có thể hoặc không thể mặc định cho cùng một trình quản lý cửa sổ như GUI cục bộ. Nó sẽ làm bất cứ điều gì nó được cấu hình để làm trong tệp ~ / .vnc / xstartup (được sao chép vào thư mục chính của bạn trong lần đầu tiên bạn khởi động máy chủ). Nếu tệp đó bảo nó chạy một bản sao khác của GUI được xác định cục bộ, thì nó sẽ. Nếu tập tin đó bảo nó chạy một số GUI khác, nó sẽ làm điều đó. Vì vậy, nếu bạn muốn thay đổi trình quản lý cửa sổ do vncserver điều hành, bạn cần thay đổi tệp đó hoặc thay đổi tập lệnh hoặc liên kết mà tệp đó trỏ tới.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.