WindowsシステムのLinux Mintでスクリプトを実行する

WindowsシステムのLinux Mintでスクリプトを実行する

デフォルトでは、私はLinux Mintを使用してPowerpointプレゼンテーションを表示したいと思います。

プレゼンテーションは Windows コンピュータで更新され、ユーザーはプレゼンテーション端末でプレゼンテーションを「リフレッシュ」するスクリプトを実行します。現在、この機能は既に存在していますが、Windows XPを使用しており、サポートの終了のために削除する必要があります。

Mintが抱えている問題は、Windowsシステムで現在のプレゼンテーションプロセスを終了し、プレゼンテーションの最新のコピーを転送して実行するスクリプトを実行する方法がわからないことです。

SSH接続を介してplinkを使用してスクリプトを作成してみましたが、コンソールの代わりに「SSH」セッションで実行されていたため、プレゼンテーションは表示されませんでした。

いくつかのアイデアを提供していただきありがとうございます。精神的な障害を経験しました!

ありがとう

答え1

私はここでいくつかの賢明な推測をしています。

  • Linuxシステムでは、いくつかのグラフィックセッションが実行されており、おそらくxserverである可能性が高いです。
  • SSH接続を使用してxserverにアクセスできません。

次のことを試すことができます。

  1. 新しいプレゼンテーションをLinuxコンピュータにコピーします。
  2. デモプログラムが呼び出されると仮定するとfoo(どのように呼び出されるかを教えてください)、killall fooそれを使用または終了できますpkill foo。これは、正しいユーザー(または使用しないでください)を使用している場合に機能します。
  3. DISPLAYグラフィカルアプリケーションを起動するには、SSHスクリプトで変数を設定する必要があります。以下はおそらくうまくいくでしょう(そうでなければ次を参照してください)。リモートXモニターでウィンドウを開く(「モニターを開けません」理由)?)。

    export DISPLAY=":0"
    
  4. これで再起動でき、foo画面に表示されます。

これに対してスクリプトを生成することもできます(実行可能にするchmod u+x restart-foo.sh

#!/usr/bin/env bash
# name this script
#    restart-foo.sh
pkill foo
export DISPLAY=":0"
nohup foo path/to/presentation.xxx &

SSHを使用してこれを行うことができます(Windows SSHクライアントによって異なります)。

my-command-to-copy-the-presentation
ssh user-name@linux-machine ./restart-foo.sh

答え2

設定でプレゼンテーションをlibreofficeに保存/エクスポートできる場合は、pdflibreofficeからevinceに切り替えてLinuxシステムにプレゼンテーションを表示できます。 Evinceは、pdf表示されたファイルが変更されたときに自動的にビューを更新するビューアです。

設定でやるべきことは、更新されたプレゼンテーションをLinuxシステムにコピーする方法を見つけることです。可能であれば、pdfSamba共有に保存するように設定できます。その後、pdfWindowsコンピュータのユーザーが保存すると、ディスプレイはすぐに更新されます。

答え3

Fabianの助けを借りて、次のスクリプトを使用してこれを正常に実行しました。

    #!/usr/bin/env bash
mount -t cifs //10.50.18.114/Presentation -o 'username=Administrator,password=***,sec=ntlm' /mnt/share
pkill soffice.bin
cp -v /mnt/share/Pres.ppt /home/kyle/Documents
chmod 777 /home/kyle/Documents/Pres.ppt
export DISPLAY=":0"
nohup libreoffice --norestore --nolockcheck --show /home/kyle/Documents/Pres.ppt &
sessionid="$(pidof -s sshd)"
kill $sessionid
exit

上記のスクリプトをrootとして自動的に実行するplinkを使用して「SSHスクリプト」を実行し、最後の終了セッションはplink sshセッションが最後に停止し、正しく閉じられず、plink sshセッションを終了します。

関連情報