Có cách nào để giao tiếp với ai đó trên máy tính để bàn của họ không?


36

Vợ tôi đang ngồi ở máy tính để bàn tại nhà alpha, nơi đang chạy phiên bản Ubuntu gần đây. Tôi đang trên xe buýt, sử dụng ConnectBot trên điện thoại G1 của mình và có thể SSH vào alphabất cứ nơi nào tôi đang ở.

Vì những lý do phức tạp, tôi không thể sử dụng IM, email hoặc điện thoại để liên lạc với cô ấy. (Ví dụ: tôi không muốn đánh thức em bé, ứng dụng khách IM của tôi bị hỏng, máy chủ email của tôi bị hỏng.) Tùy chọn duy nhất của tôi là ssh vào alphatừ xa và cố gắng làm cho một cái gì đó xuất hiện trên màn hình. Cô ấy đang sử dụng KDE; Làm thế nào tôi có thể làm cho một cái gì đó bật lên để thu hút sự chú ý của cô ấy và cho cô ấy biết tôi đang cố gắng giao tiếp với cô ấy? Tôi nghĩ rằng có thể kích hoạt từ xa một cái gì đó (như xmessage) xuất hiện trên màn hình của cô ấy mặc dù phiên SSH của tôi không có màn hình X.

EDIT: Để làm rõ, điện thoại của tôi không chạy bất kỳ hương vị nào của X, vì vậy X-over-ssh là không thể. Làm việc sau đây?

$ export DISPLAY=:0
$ xmessage "test"

Gửi tin nhắn văn bản tới điện thoại ở chế độ im lặng ... hoặc đó chỉ là tôi?
Nivas

Câu trả lời:


27

Bạn có thể cho biết một chương trình X sẽ sử dụng màn hình nào với DISPLAYbiến môi trường, miễn là bạn biết màn hình nào alphađang hiển thị. Hầu như chắc chắn màn hình duy nhất là :0, trừ khi bạn tự tay nghịch với nó, vì vậy nếu bạn chạy:

$ export DISPLAY=:0

Sau đó, mọi ứng dụng X bạn chạy sẽ được hiển thị trên alphamàn hình. xmessagelà một lựa chọn tốt để hiển thị tin nhắn; cũng có xdialog. Nếu bạn đã libnotifycài đặt, bạn có thể sử dụng notify-sendđể bật lên một thông báo ở góc màn hình:

Thí dụ


xauthhay xhostcần thiết ở đây quá?
Mikel

@Mikel Tôi không chắc chắn cách thức bảo mật hoạt động khi một người dùng khác đang chạy X; Tôi nghĩ nó ổn Tôi chỉ từng sử dụng xhostđể cho phép kết nối từ xa, nhưng anh ấy đang SSH trực tiếp vào máy
Michael Mrozek

Sẽ ổn nếu bạn có thể đăng nhập vào cùng một tài khoản mà cô ấy đã đăng nhập. Nếu không, bạn sẽ phải đối phó với kiểm soát truy cập X.
dùng7440

10

Như Michael Mrozek minh họa , bạn có thể chạy các ứng dụng X hiển thị trên máy tính để bàn của vợ bạn. Tất cả những gì bạn cần làm là đặt DISPLAYbiến môi trường thành đúng giá trị (hầu như luôn luôn :0) và nhận được ủy quyền.

Giải pháp này yêu cầu bạn có quyền đọc các tệp của vợ bạn. Truy cập vào máy chủ X yêu cầu xác thực cookie cookie , đây là mật khẩu được tạo ngẫu nhiên khi X khởi động và lưu trữ trong một tệp. Các tập tin thường là ~/.Xauthority; nếu không, nó phải được chỉ định trong XAUTHORITYbiến môi trường. Trong Ubuntu với thiết lập mặc định (sử dụng Gdm), cookie phiên của vợ bạn không ở ~wife/.Xauthoritytrong một tệp có tên được tạo tự động; xem biến Ssh HIỂN THỊ . Xem thêm Khi root tôi có thể khởi chạy chương trình đồ họa trên màn hình người dùng khác không? , Linux: wmctrl không thể mở hiển thị khi phiên được bắt đầu qua màn hình ssh + .

Nếu vợ bạn mở một thiết bị đầu cuối văn bản, bạn có thể sử dụng write theo đề xuất của user7440 để viết một số văn bản trong thiết bị đầu cuối của cô ấy. Điều đó đòi hỏi thiết bị đầu cuối chấp nhận các thông báo như vậy; bạn có thể bật và tắt tính năng này bằng mesg yhoặc mesg n, và tôi không biết trạng thái mặc định trên trình giả lập thiết bị đầu cuối hiện đại là gì.

Một cơ chế tinh vi hơn đó writetalk. Giao thức nói chuyện là tổ tiên của các chương trình trò chuyện; bạn có thể nói chuyện với bất kỳ ai trên máy đang chạy máy chủ đàm thoại và cổng UDP 517 hoặc 518 (có hai biến thể giao thức) không được lọc. Vì vậy, cài đặt talkd Cài đặt talkd http://bit.ly/software-small , một ứng dụng khách như ytalk Cài đặt ytalk http://bit.ly/software-small , và ytalk wife. Ngoài ra còn có máy khách X, xtalk Cài đặt xtalk http://bit.ly/software-small . Theo như tôi biết, cuộc nói chuyện chỉ đơn giản là rơi ra khỏi radar (mọi người quan tâm đều sử dụng một trong những trò chuyện hiện đại) và không có thành phần hệ thống nào tạo ra thông báo KDE về yêu cầu nói chuyện.

Trong khi bạn nói rằng bạn không thể chạy bất kỳ ứng dụng khách IM nào thì máy khách IM dòng lệnh chạy trên máy chủ của bạn được truy cập thông qua SSH có ổn không? Có những thứ như vậy, ví dụ weechat Cài đặt weechat http://bit.ly/software-small . Bạn vẫn phụ thuộc vào một số máy chủ để kết nối bạn với vợ bạn, nhưng nó sẽ chỉ được truy cập từ máy chủ của bạn chứ không phải từ điện thoại của bạn.


finchlà phiên bản dòng lệnh của pidgin.
LawrenceC

4

Nếu cô ấy mở cửa sổ thiết bị đầu cuối (sử dụng 'ai' để tìm hiểu), bạn có thể ghi vào thiết bị đầu cuối đó bằng cách sử dụng 'ghi'. Điều này sẽ không hoạt động với thiết bị đầu cuối chính vì KDE che giấu nó, nhưng bất kỳ cửa sổ thiết bị đầu cuối nào cũng sẽ hoạt động (nếu trên máy tính để bàn hiện tại, không được thu nhỏ, cô ấy đang nhìn vào nó ...).


3

Tôi không chắc chắn 100% cài đặt DISPLAY=:0.0sẽ hoạt động. Tôi nghĩ bạn cần một cách để được phép kết nối với máy chủ X trên PC của vợ bạn. Các công cụ để làm điều đó là xhostxauth , nhưng họ dường như đòi hỏi bạn đã có quyền truy cập vào máy chủ X, vì vậy có lẽ chỉ vợ của bạn có thể chạy chúng. (Vấn đề gà và trứng.)

Không, bạn có thể khởi động máy chủ X thứ hai, ví dụ như sử dụng X :1hoặc có thểchvt thể giúp đỡ.

Ví dụ, một cái gì đó như

# X :1
# export DISPLAY=:1.0
# xmessage 'hello'

dường như hoạt động trên hệ thống của tôi nếu tôi chạy nó dưới quyền root.

X :1 đã được bắt đầu trên vt7 trên hệ thống của tôi, vì vậy bạn cũng có thể chạy

# chvt 7

để chắc chắn rằng màn hình X là màn hình hiện đang hiển thị.

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.