web-dev-qa-db-ja.com

Ubuntu 16.04.2 LTSにログインする前にSynergy(または任意のアプリケーション)を起動します

Ubuntu 16.04.2(Xenial)Intel x64で使用:{プロセッサとUbuntuの両方のインストール}

この質問に対する回答は100万回ありますが、解決策はありません。したがって、質問を複製したくありませんが、答えられていません。

端末とSudo -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`

その後、その目的のためにプログラムを利用することができます。ただし、ログイン画面の目的fromを利用できるように、これはログイン前に自動的に行われるようにします。 (Synergyを使用すると、仮想KVMのように複数のコンピューターで1つのキーボードとマウスを使用できますが、スイッチを押す代わりに、すべてが1つのグラフィックスに接続されているかのようにマウスを次の画面に移動させるだけですカード)

私が最初に試したのは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

したがって、それは間違いなく実行可能ですが、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`

しかし、それは想定されていることを行っていません。統一ダイアログでも何かが間違っていると呼ばれていますが、これはこれが実行されたときにのみ発生するため、それが安全であると想定できます。

私の最も安全な仮定は、プログラムが正常に実行されているということです。問題は、xセッションの開始前にrc.localが実行されるため、キーボードとマウスへのフックが確立されないことです。 synergycを実行し、それ以降は再試行されません。

2番目に試したのは「スタートアップアプリケーション」でしたが、動作しますが、ログインするまでは動作しません。これはここで行いたいことではありません。

私の仮定が正しい場合:

Xサーバーが起動した後、ユーザーがログインする前にプロセスの実行を呼び出す方法は何ですか。

私の仮定が正しくない場合:

Help

14
DeeJayh

16.04.2の場合、次のファイルを作成します(存在しません)

/etc/lightdm/lightdm.conf

内容で:

[Seat:*]
autologin-user=

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

詳細は buntu wiki guide を参照してください。


編集:

man synergyc から:

自動起動...

オプションに-fまたは--no-daemonを含めることはできません。シナジーの古いコピーが実行されていないことを確認して、新しいコピーに干渉しないようにすることが重要です。

5
jringoot

私のような初心者のためにあなたのスタートアップに行きます。

  • 「コンピューターを検索」と入力し、スタートアップアプリケーションをクリックします
  • 追加をクリックします

    • 名前:シナジー
    • コマンド:必要に応じて参照しますが、/ usr/bin/synergy

    それは、シナジーの最後に何も「c」を追加しないでください。

スクリプトを削除するのが面倒だったので、スクリプトも実行しています。

[Seat:*]
autologin-user=

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

今、ポートが面白いです、それはデフォルトのポートではないので、このタイプのターミナルを見つけるために

netstat  -atn

今、私はそれがあなたのサーバーIPを探していたことを見つけました...私は私のSYNERGYサーバーIPを知っているので、その向かいにはクライアントIPとポート番号があります。

1
leebrendalee