войдите во “фронтэнд gui” от ssh (вместе с Совместными действиями)

Так, у меня есть 3 пк на моем столе, всем выполнении ubuntu 14.04 64bit. и все выполнение последней версии Synergy, так, чтобы я только использовал один keyoard и одну мышь для управления 3 ПК и 4 мониторами. это работает отлично! но, одна проблема.

каждый раз я вхожу в систему (разблокировали), я должен зарегистрироваться в 3 раза. и каждый раз, когда я блокирую компьютер, я должен заблокировать его 3 раза. (хорошо, я должен заблокировать и войти в систему каждого из этих 3 ПК индивидуально).

до сих пор synergy разве система для этого не имеет в их коде, но я думал, возможно, что я могу решить это с ssh сценарием? у кого-либо есть какие-либо идеи, как я мог сделать это? это даже возможно?

править: Я получил одну подсказку, в комментарии ниже, и попробовал некоторые вещи (см. мой собственный ответ, относительно того, что я попробовал до сих пор), эта проблема все еще не решена, поэтому прочитайте мой собственный ответ ниже и посмотрите, можно ли, возможно, помочь мне узнать, почему это не работает или возможно предлагает полностью другое решение.

1
задан 9 October 2014 в 02:38

1 ответ

Я еще не сделал эту работу, но я хотел добавить, что я попробовал, и как она перестала работать до сих пор, в случае, если это заставит кого-то еще видеть то, что я делаю неправильно.

все основано на комментарии c0rp по этой ссылке (спасибо)

Я создал два файла сценария удара как это:

1) /sbin/my_loginscript.sh (используемый, чтобы "войти в систему", и открыть два компьютера)

#!/bin/bash          
# 
# Script to loging to my other computers when I login, save some time
#
echo "UNLocking laptop and desktop"
ssh -X myuser@192.168.12.22 "export DISPLAY=:0; gnome-screensaver; gnome-screensaver-command -d;"
ssh -X myuser@192.168.12.203 "export DISPLAY=:0; gnome-screensaver; gnome-screensaver-command -d;"
echo "Now get some back to work" 

2) /sbin/my_logoutscript.sh (используемый, чтобы "выйти из системы" и закрыть два компьютера)

#!/bin/bash          
# 
# Script to loging to my other computers when I login, save some time
#
echo "Locking laptop and desktop"
ssh -X myuser@192.168.12.22 "export DISPLAY=:0; gnome-screensaver; gnome-screensaver-command -l;"
ssh -X myuser@192.168.12.203 "export DISPLAY=:0; gnome-screensaver; gnome-screensaver-command -l;"
echo "Now get some rest"

И эти сценарии работают довольно хорошо, и когда я выполняю их непосредственно два дополнительных настольных компьютера, "открытые и близко", и я могу использовать synergyдля управления ими это сам по себе намного быстрее, чем вход вручную в два дополнительных компьютера.

Теперь я пытаюсь автоматизировать это, и это - то, где у меня есть проблемы.

когда я вхожу в систему компьютера (должны выйти из системы, чтобы это работало),

Я создаю новый файл '/etc/xdg/autostart/my_script.desktop'

это похоже на это:

[Desktop Entry]
Type=Application
Name=global login
Exec=sudo /sbin/my_loginscript.sh
Icon=system-run
X-GNOME-Autostart-enabled=true

и это на самом деле работает.. когда я вхожу в систему, два других экрана разблокировали как, я хочу.

Todo: как закрыть его, когда я выхожу из системы?

но также и, я ПОЧТИ НИКОГДА не регистрируюсь из своего ПК, я только LOCK это и UNLOCK это, так, чтобы был тем, что я действительно хочу зафиксировать, и это - то, как я попробовал.

Я создаю новый файл, названный '/etc/pm/sleep.d/99_resume.sh'

и это похоже на это:

#!/bin/bash

case "$1" in
thaw|resume)
    /sbin/my_loginscript.sh 2> /var/log/wakeup.log
    ;;
suspend|hibernate)
    /sbin/my_logoutscript.sh 2> /var/log/wakeup.log
    ;;
esac

но это, кажется, не работает вообще, и мне нелегко диагностировать его. если бы у кого-либо есть какие-либо подсказки или подсказки здесь, которые были бы очень хороши.

править: На основе комментария от C0rp ниже, я отредактировал его документ на получение, и это может быть найдено (отредактированным) здесь:

в основном после того, как Вы клонируете или иначе создаете event_catcher.sh файл, Вы сначала копируете мои два файла my_logoutscript.shandmy_logoutscript.shas described earlier, to the/sbinfolder. Then start the daemon by running this./event_catcher.sh запускаются'.

в следующий раз Вы совершаете нападки Ctrl Alt L Ваш компьютер заблокирует, и также Ваши другие ПК заблокируют.

PS: Я предположил, что Вы используете ssh-copy-id включить вход в систему на тех ПК с паролем.

таким образом я считаю вопрос решенным теперь, но я буду ожидать немного, чтобы c0rp видел, хочет ли он создать очень быстрый ответ (только вместо комментариев), и если он делает это, я дам ему кредит. Еще раз спасибо c0rp!

3
ответ дан 7 December 2019 в 12:49

Другие вопросы по тегам:

Похожие вопросы: