cài đặt xhost khi khởi động


8

Tôi có thể đặt xhost khi khởi động trong Fedora bằng cách chỉnh sửa /etc/gdm/Init/Defaultvà ví dụ: thêm:

/usr/bin/xhost +local:

Làm thế nào tương tự có thể được thực hiện trong Ubuntu? Tôi muốn rằng

/usr/bin/xhost +local:

lệnh được thực thi khi hệ thống đang ngồi tại dấu nhắc đăng nhập.

Câu trả lời:


11

Các xhostlệnh cần một máy chủ X hoạt động để chạy, nó có thể chạy vào màn hình đăng nhập, ví dụ như khi lightdmtải. Bạn có thể kích hoạt nó bằng cách chỉnh sửa /etc/lightdm/lightdm.confvà thêm dòng:

display-setup-script=/home/user/bin/xhost.sh

/etc/lightdm/lightdm.conftập tin ví dụ :

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/home/user/bin/xhost.sh

/home/user/bin/xhost.shtập tin ví dụ :

#!/bin/bash
xhost +

Nó hoạt động trên Ubuntu 12.04.1 LTS và cần phải kích hoạt ứng dụng Java cần X và được chạy bởi Tomcat 6.


1
bạn có thể cần phải thực hiện tập lệnh xhost.sh bằng: chmod + x /home/user/bin/xhost.sh
George Litos

Hoạt động trong Xubfox 18.04, nhưng hãy đảm bảo tập lệnh có thể thực thi được như @George Litos đã đề cập, nếu không hệ thống của bạn sẽ không khởi động.
Jose Tomás Tocino

2

Điều này làm việc cho tôi:

Chỉnh sửa ~/.xinitrc:

export DISPLAY=":0.0"
xhost +
openbox

Lưu ý: trong thiết lập cụ thể của tôi, tôi chỉ chạy openbox . Thông thường tệp đó trống hoặc thiếu trong Ubuntu. Tôi đoán là bạn có thể loại bỏ dòng "openbox" và nó sẽ hoạt động, nhưng tôi không có cách nào để kiểm tra nó ngay bây giờ. Nếu nó không hoạt động, thay thế dòng cuối cùng cho lệnh quản lý cửa sổ của bạn.


1

~/.xinitrckhông hoạt động với tôi trên Ubuntu 14.04 nhưng sau đây ~/.profileđã làm. Trên mỗi lần đăng nhập, GUI / terminal / SSH / etc ..., tập lệnh sẽ chạy để tôi chuyển hướng stdoutđể tắt tiếng đầu ra.

xhost +local: > /dev/null


1

Tôi gặp vấn đề tương tự với Ubuntu 17.10. Có thể là hệ thống của tôi không được cấu hình đúng. Dù sao, trong trường hợp của tôi, tôi đã thêm

xhost + SI:localuser:root > /dev/null

ở dưới cùng của ~/.bashrctập tin của tôi và nó đã làm việc. Tôi không biết nếu đây là một rủi ro bảo mật. Tôi chia sẻ rằng trong trường hợp người khác có cùng hoàn cảnh và tin tưởng rằng việc thêm root vào danh sách người dùng máy chủ X được ưu tiên sẽ ổn.

Nó được đề xuất ở đây http://ubfoxhandbook.org/index.php/2017/10/ubfox-17-10-tip-graphical-apps-doesnt-launch-via-root-sudo-gksu/

Bạn có thể kiểm tra nó trực tiếp trên thiết bị đầu cuối trước:

$ xhost + SI:localuser:root
$ xhost -

Dòng thứ hai đảm bảo rằng chỉ những người trong danh sách mới có quyền truy cập vào máy chủ X. Sau đó thử "Chỉnh sửa với tư cách quản trị viên", sau khi nhấp chuột phải vào tệp hoặc thực hiện directlty

$ pkexec gedit

Nếu điều này không hoạt động, thì việc tạo lệnh vĩnh viễn trong ~ / .bashrc là vô nghĩa.

Nói chính xác hơn, lần đầu tiên tôi thực hiện

$ xhost

để xem người dùng nào đã truy cập vào máy chủ X. Tôi thấy rằng định dạng là SI:localuser:dominicnơi dominicđăng nhập của tôi. Vì vậy, tôi đã sử dụng định dạng tương tự SI:localuser:root để thêm rootngười dùng.


0

Đây là một biến thể của câu trả lời của @ GeorgeLitos, với những thay đổi sau:

  • Không trực tiếp sửa đổi /etc/lightdm/lightdm.conf, vì đây là tệp thuộc sở hữu hệ thống có thể bị ghi đè khi nâng cấp hệ thống. Thay vào đó, sử dụng thư mục mở rộng /etc/lightdm/lightdm.conf.d/. Điều này cũng có nghĩa là các cài đặt khác không cần phải được sao chép trong đó.
  • Không cần một kịch bản shell riêng biệt; lệnh có thể được đặt trực tiếp vào tập tin cấu hình.

Chỉ cần tạo một tệp (dưới dạng root người dùng) /etc/lightdm/lightdm.conf.d/xhost.confvới các nội dung sau:

[SeatDefaults]
display-setup-script=xhost +

Điều này hoạt động trên Ubuntu 16.04.5 LTS.


-1

Chỉnh sửa tệp /etc/rc.local(với sudo) và thêm lệnh trước lệnh cuối cùng ( exit 0).


1
Điều này sẽ không hoạt động (và tôi đã cố gắng không bao giờ ít hơn và nó không hoạt động). Bởi vì tập lệnh đó sẽ không có quyền truy cập để thay đổi cài đặt đó ở vị trí đầu tiên. Nó phải được thực hiện như người dùng lightdm?
yurtesen

-1

Thêm dòng sau vào /etc/xdg/lxsession/LXDE/autostart

xhost +local:
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.