Làm cách nào để ngăn ssh đăng nhập từ xa phá vỡ dbus?


10

Tôi đang chạy openSUSE 11.3 trên máy trạm của tôi tại nơi làm việc theo KDE, tôi không có quyền truy cập root vào nó. Shell mặc định đã được đặt thành tcsh. Khi tôi đăng nhập tại máy trạm và đăng nhập từ xa từ MacBook chạy OS X 10.6 bằng cách sử dụng ssh, như vậy:

ssh -X -C user@workstation.edu

mọi thứ đều hoạt động tốt; tuy nhiên, sau khi hoàn thành, tôi gặp lỗi DBUS trên phiên máy trạm của mình bất cứ khi nào tôi cố gắng khởi chạy bất cứ thứ gì có GUI, bao gồm, không may, hộp thoại đăng xuất từ ​​bảng điều khiển thanh tác vụ. Tôi cảm thấy mệt mỏi với việc giết chết startkdechỉ để đăng xuất trong những tình huống này.

Trực tuyến Tôi đã tìm thấy rất nhiều hướng dẫn để kết nối với phiên dbus hiện tại bằng ssh, nhưng tôi muốn làm ngược lại, hãy để phiên dbus hiện tại hoàn toàn không bị ảnh hưởng bởi phiên đăng nhập từ xa ssh.

Nếu tôi làm

ssh -X -C user@workstation.edu dbus-launch konsole

nó hoạt động, do đó, chỉ có vỏ đăng nhập tương tác phá vỡ dbus. Tôi nên sửa đổi ~/.cshrcnhư thế nào? Hãy ghi nhớ rằng tôi không có quyền sửa đổi /etc/cshrc, /etc/loginvv

Tôi có thể liệt kê nội dung của các tập tin ở đây, nếu cần thiết.

Cập nhật:

Đây là một tệp tar lớn với tất cả các tập lệnh tôi có thể tìm thấy:

http://dl.dropbox.com/u/17203983/cshrc.tgz


Có, xin vui lòng gửi nội dung của các tệp khởi tạo tạo sự khác biệt. Ngoài ra, vui lòng mô tả chính xác những lệnh nào phá vỡ phiên cục bộ (có phải nó đang chạy dbus-launch konsolephá vỡ phiên cục bộ không? Hoặc chỉ đơn thuần là đăng nhập ssh tương tác nơi bạn nhấn exitngay lập tức?).
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles Hmm, tôi đã cố gắng chỉnh sửa câu hỏi của mình với nội dung của các tệp, nhưng có quá nhiều ký tự. Tôi sẽ tìm hiểu làm thế nào và nơi tôi có thể tải chúng lên. Trong khi đó, konsole khởi chạy dbus không phá vỡ phiên cục bộ, trong khi thông tin đăng nhập ssh tương tác từ dòng lệnh ngay sau đó sẽ thoát. Trên thực tế, ngay cả khi chỉ thực hiện một rsync cũng phá vỡ dbus (với tôi có vẻ lạ khi rsync chạy các kịch bản shell đăng nhập theo mặc định, nhưng thực tế là vậy).
dùng1079118

Hãy thử pastebin.com cho các tệp lớn.
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


1

Trên thực tế phiên dbus là trên mỗi máy và mỗi màn hình X.

Khi bạn thực hiện phiên SSH từ xa, bạn sử dụng màn hình X11 khác (thường là localhost: 10)

Nếu bạn tiêu diệt tất cả các dbus và khởi chạy nó trong phiên SSH thì nó hoạt động ... cho phiên SSH. Nhưng rõ ràng là nó phá vỡ các phiên dbus khác trong máy.

Điều cần thiết là kiểm tra xem một phiên cho máy + màn hình đã tồn tại chưa, nếu có, hãy sử dụng nó, nếu không khởi chạy một dbus mới cho sự kết hợp đó và cho phiên biết về nó.

Hãy xem https://unix.stackexchange.com/a/188877/32769 để biết khối bash bạn có thể đặt vào tệp $ HOME / .bash_profile của mình để thực hiện các bài kiểm tra đó và thực hiện đúng cách.

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.