Bắt đầu Synergy (hoặc bất kỳ ứng dụng nào) TRƯỚC KHI đăng nhập vào Ubuntu 16.04.2 LTS


14

Sử dụng Ubuntu 16.04.2 (Xenial) trên Intel x64 : {Cả bộ xử lý và cài đặt Ubuntu}

Câu hỏi này đã được trả lời một triệu lần, nhưng không có giải pháp nào hiệu quả. Vì vậy, tôi không muốn lặp lại một câu hỏi, nhưng nó đã không được trả lời.

Khi tôi kích hoạt một thiết bị đầu cuối và sudo -i, lệnh sau hoạt động như mong đợi.

`root@user-pc:~# /usr/bin/synergyc -f --no-tray --debug INFO --name 
 user-pc 192.168.xxx.xxx:24800
 [2017-05-23T09:20:44] NOTE: started client
 [2017-05-23T09:21:01] NOTE: connecting to '192.168.5.100': 
 192.168.5.100:24800
 [2017-05-23T09:21:01] NOTE: connected to server`

Sau đó tôi có thể sử dụng chương trình cho mục đích của nó. Tuy nhiên, tôi muốn việc này được thực hiện tự động trước khi đăng nhập để tôi có thể sử dụng mục đích của nó từ màn hình đăng nhập. (Synergy cho phép bạn sử dụng một bàn phím và chuột trên nhiều máy tính, gần giống như một KVM ảo nhưng thay vì nhấn công tắc, bạn chỉ cần cuộn chuột phải lên màn hình tiếp theo như thể tất cả chúng được gắn vào một card đồ họa)

Điều đầu tiên tôi đã thử là RC.local :

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

exec /usr/bin/synergyc -f --no-tray --debug INFO --name user-pc 192.168.5.100:24800

exit 0

~~~ ls /etc/rc.local -l:

-rwxr-xr-x 1 root root 390 May 22 20:56 /etc/rc.local

Vì vậy, nó chắc chắn có thể thực thi được, nhưng khi khởi động lại PC:

~~~ ps aux | grep syner:

`root  990  0.0  0.0  63656  5372 ?  Ssl  09:33  0:00 
 /usr/bin/synergyc -f --no-tray --debug INFO --name user-pc 
 192.168.5.100:24800`

Tuy nhiên, nó không làm đúng như những gì nó được yêu cầu, ngay cả các hộp thoại thống nhất cũng được gọi là nói có gì đó không ổn, điều này chỉ xảy ra khi điều này thực thi, vì vậy tôi có thể giả định rằng đó là điều an toàn.

Giả định an toàn nhất của tôi là chương trình đang chạy tốt, vấn đề là RC.local được chạy trước khi phiên x bắt đầu nên mọi móc nối với bàn phím và chuột không bao giờ được thiết lập, điều này cũng chỉ có thể được thực hiện vào đầu việc chấp hành của synergyc và không cố gắng một lần nữa ngoài điểm đó.

Điều thứ hai tôi đã thử là "Ứng dụng khởi động", nó hoạt động, nhưng mãi đến sau khi đăng nhập, đó không phải là điều chúng tôi muốn diễn ra ở đây.

Nếu giả định của tôi là đúng:

Cách gọi thực thi quy trình sau khi máy chủ x hoạt động là gì, nhưng trước khi bất kỳ người dùng nào cũng phải đăng nhập.

Nếu giả định của tôi không đúng:

Cứu giúp


1
Có lẽ đối với gdm bạn cần /etc/gdm/Init/Defaultvà cho Unity bạn cần thêm một tập lệnh vào /etc/init/lightdm.conf.
Rinzwind

@Rinzwind lightdm.conf vẫn còn quá sớm, ngay cả trong phần hậu khởi động của nó, lỗi tổng hợp đã sử dụng cùng một lệnh hoạt động hoàn toàn tốt từ thiết bị đầu cuối. Ubuntu đưa ra một lỗi nói rằng sức mạnh tổng hợp đã dừng đột ngột, có khả năng vì nó không thể truy cập vào các hook mà nó cần để điều khiển bàn phím và chuột, cần nó xảy ra ngay khi màn hình đăng nhập được hiển thị để mọi thứ đều hoạt động và đã chạy
DeeJayh

Không hữu ích lắm nhưng có lẽ hơi an ủi - Tôi đã vật lộn với điều này khoảng một năm trước khi từ bỏ (GDM) ... Tôi đã giải quyết theo cách mà tôi nghĩ là "nó" có thể hoạt động: hai đơn vị hệ thống người dùng, một cho một đăng nhập máy chủ x ảo (nghĩ kiosk nhưng không được hiển thị), sau đó kích hoạt để giết nó khi người dùng thực tế đăng nhập. Cuối cùng, đối với trường hợp sử dụng của tôi, nó không có giá trị nhưng có lẽ điều đó giúp bạn. Tất cả mưa đá ACME!
Đánh dấu

Tuy nhiên, nếu tôi không nhầm lẫn cần một máy chủ X, thì nó không thể hoạt động mà không có người dùng đăng nhập
Ziazis

Chỉ là một cú đâm hoang dã trong bóng tối, nhưng bạn đã thử thêm vào .xinitrcchưa?
nặc

Câu trả lời:


6

Đối với 16.04.2, tạo tệp sau (không tồn tại)

/etc/lightdm/lightdm.conf

với nội dung:

[Seat:*]
autologin-user=

[SeatDefaults]
greeter-setup-script=/usr/bin/synergyc --name <hostname> 192.168.x.x

Thực hiện theo hướng dẫn wiki ubfox này để biết thêm thông tin.


BIÊN TẬP:

Từ man synergyc:

BẮT ĐẦU TỰ ĐỘNG ...

tùy chọn không được bao gồm -fhoặc --no-daemon. Điều quan trọng là đảm bảo không có bản sao cũ nào của sức mạnh tổng hợp đang chạy để họ không thể can thiệp vào bản mới.


2
Điều đó thực sự tốt đẹp! Điều tốt để biết, chỉ cần thêm nó vào /etc/lightdm/lightdm.conflà đủ để làm cho nó hoạt động hoàn chỉnh. Có thể thêm những gì anh ta phải thêm vào câu trả lời thay vì chỉ liên kết liên kết ubfox.
Ziazis

1
Spa nếu bạn có đăng nhập tự động, chỉ cần thêm sức mạnh tổng hợp vào các ứng dụng khởi động của bạn.
Ziazis

2
Khá chắc chắn rằng điều này hoạt động trên một phiên bản cũ hơn của Ubuntu, nhưng không phải trên tôi. Tôi đã tạo /etc/lightdm/lightdm.conf vì nó không tồn tại và đặt vào hai dòng trên (tất nhiên là thay đổi nó để sử dụng thông tin của riêng tôi) Bây giờ tôi có kết nối tổng hợp khi màn hình tải lên, tuy nhiên bây giờ tôi không còn có được màn hình đăng nhập. Nó chỉ là một màn hình trống với con trỏ X. $ sudo find / -name lightdm.confcho /etc/init/lightdm.conf/etc/lightdm/lightdm.confvới cái sau là cái tôi tạo bằng tay với hai lớp lót trong đó. Loại bỏ lightdm.conf tôi đã tạo khôi phục nó trở lại trật tự làm việc.
DeeJayh

1
Tôi có thể xác nhận rằng, phương pháp này hoạt động vào ngày 16.04.2!
pa4080

1
@SpasSpasov Tôi biết tôi rất phấn khích, tôi đã thay đổi câu trả lời để phản ánh chi tiết cụ thể của chúng tôi, chờ đợi đánh giá ngang hàng.
DeeJayh

1

Đi vào khởi nghiệp của bạn..cho những người mới như tôi làm theo cách này:

  • "Tìm kiếm máy tính của bạn" khi bắt đầu, nhấp vào Ứng dụng khởi động
  • bấm vào Thêm

    • Tên: Sức mạnh tổng hợp
    • Lệnh: duyệt nếu bạn thích nhưng / usr / bin / synergy của nó

    chỉ vậy thôi, KHÔNG THÊM BẤT CỨ "c" nào, không có gì đến hết sức mạnh tổng hợp.

Bây giờ tôi cũng có đoạn script đang chạy vì tôi quá lười để loại bỏ nó..như cả hai đều ở đó.

[Seat:*]
autologin-user=

[SeatDefaults]
greeter-setup-script=/usr/bin/synergyc --MediaServer 192.168.2.253:port

Bây giờ để tìm cổng thật thú vị, nó không phải là cổng mặc định, vì vậy hãy thực hiện kiểu này trong terminal

netstat  -atn

bây giờ làm thế nào tôi tìm thấy nó là tìm ip máy chủ của bạn ... Tôi biết ip máy chủ SYNERGY của tôi vì vậy ngay bên kia là ip máy khách và số cổng của 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.