2009-07-14 12 views
17

Tôi có ubuntu + x11 + gnome.X11: chạy ứng dụng gnome với tư cách người dùng khác

Tôi muốn chạy ứng dụng đồ họa với tư cách người dùng khác.

Tuy nhiên, khi tôi bắt đầu từ dòng lệnh bằng cách sử dụng sudo -u otheruser app Tôi gặp lỗi "Không có giao thức được chỉ định".

Tôi có thể làm việc như thế nào?

+3

sẽ được chuyển đến superuser.com –

Trả lời

2

Sử dụng

xdg-su -u user -c command 
+0

Tôi tin rằng bạn vẫn cần sử dụng xhost để cho phép các kết nối cục bộ từ bất kỳ người dùng nào. – codeape

+0

man xdg-su: xdg-su chỉ được sử dụng trong phiên máy tính để bàn. –

1

Có thể bạn cần thông báo cho máy chủ X của mình chấp nhận các kết nối từ một người dùng khác so với người sở hữu cá thể máy chủ (bạn). Nhìn vào lệnh xhost.

9

Execute lệnh này đầu tiên:

$ sudo xhost + 

Sau đó chạy lệnh bạn muốn như là người dùng khác:

$ sudo -i -u username 
$ command you want to run 

Khi bạn đang thực hiện:

$ sudo xhost - 
+0

Tìm tốt. Giờ đây, Chrome và Flash chạy tốt như một người dùng khác, nhưng để có được âm thanh, bạn cần phải pkill pulseaudio-daemon của người dùng hiện tại trước tiên. –

+7

'sudo xhost + local:' nếu bạn không muốn kết nối từ internet – maxy

+2

nó an toàn như địa ngục – mykhal

0

gksudo -u lệnh

+0

Đã thử trên máy tính để bàn Ubuntu của tôi, nó không hoạt động (cùng một lỗi msg. Như trong câu hỏi). – codeape

8

xhost '+si:localuser:USERNAME'

0
gksu -u <user> -c <command> 

Thay <user> với tên người dùng để chạy các lệnh như, và <command> với lệnh bạn muốn chạy. Hãy nhớ rằng chương trình sẽ chạy trong ngữ cảnh của <user>, nhưng trong thư mục hiện tại.

Trong cửa sổ bật lên, hãy nhập mật khẩu của mục tiêu <user> tất nhiên.