Рейтинг:19

Поиск индикации «присутствия оператора» для удаленной системы, доступ к которой осуществляется через ssh

флаг us

Пожилой родственник использует рабочий стол Ubuntu 18.04 + LXDE, в основном только для работы в Интернете и для игры в несколько словесных игр. Они редко выключают компьютер... последний раз, когда я проверял, он был включен более 15 дней.

Администрирую систему удаленно по ssh.

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

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

Если они играют в игру, я вижу это в вершина, но я не могу найти способ определить, активно ли они используют браузер.

Какой-нибудь индикатор активности мыши и/или клавиатуры был бы потрясающим, но я хочу держаться подальше от любого программного обеспечения типа кейлоггера. Я подозреваю, что существует такая вещь, как «обнаружена активность мыши/клавиатуры» — перевести систему в спящий режим/активировать заставку** и разбудить ее хотя бы для чего-то другого — но я не могу ее найти.

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

Где-то отслеживается «время, прошедшее с момента последнего взаимодействия пользователя с клавиатурой/мышью»?

Любые решения должны быть доступны через ssh.

PonJar avatar
флаг in
Не могли бы вы найти в кеше браузера самый последний файл и сделать на его основе суждение?
Organic Marble avatar
флаг us
@PonJar, который может не охватывать игровой случай.
David Z avatar
флаг es
Это определенно не относится к делу, но 15 дней — это не обязательно так долго. Например. Я пишу этот комментарий с рабочего стола KDE, который постоянно работал (и входил в систему) в течение 48 дней, и с ним все в порядке. Поэтому, если вы когда-нибудь захотите перезагрузить компьютер _просто_ потому, что считаете, что он работал слишком долго, может быть вполне разумным решением подождать и сохранить перезагрузку до тех пор, пока вам не нужно будет делать основные обновления программного обеспечения или что-то в этом роде.
Organic Marble avatar
флаг us
@DavidZ да, я знаю, что люди делают разные вещи. Мне нужно только перезагрузить его для обновления ядра. Единственная причина, по которой я упомянул об этом, заключалась в том, чтобы подчеркнуть, что если я не перезапущу эту штуку, они никогда этого не сделают.
Software Engineer avatar
флаг de
10/10 за их размещение в дистрибутиве GNU/Linux — им намного проще управлять. Чтобы усилить перезагрузку, о которой упомянул Дэвид З., моя жена запускает Garuda GNU/Linux на ультрабуке Dell, который она использует для работы, и ей не приходилось перезагружаться уже несколько месяцев. Мы не обновляем его так часто, потому что это не сервер и поэтому он не представляет большой угрозы для безопасности. Я бы сказал, что машина вашего родственника, вероятно, не нуждается в особом обслуживании по тем же причинам — если она работает, просто оставьте ее в покое.
Рейтинг:25
флаг cn
jpa

Существует утилита для печати времени простоя экрана X:

DISPLAY=":0"

Он печатает время с момента последнего ввода с клавиатуры или мыши в миллисекундах.


Другим вариантом было бы всплывающее окно с вопросом:

DISPLAY=":0" zenity --question --text="Organic Marble спрашивает: Вы сейчас используете этот компьютер?" && эхо да

Затем, если вы не получите ответа в течение нескольких минут, просто нажмите Ctrl-C и перейдите к перезагрузке.

Organic Marble avatar
флаг us
Интерактивный подход - это то, о чем я не думал! Спасибо! Но первый выглядит идеально. Мне нужно будет установить команду и протестировать ее.
флаг cn
jpa
Если вы всегда получаете небольшое время простоя, возможно, у них дрожит оптическая мышь. Это также может объяснить, почему монитор всегда включен.
Organic Marble avatar
флаг us
Это выглядит идеально. Я могу выполнить `expr $(DISPLAY=":0" xprintidle) / 60000`, чтобы получить время простоя в целых минутах. Мне просто нужно следить за ним в течение нескольких часов и убедиться, что я вижу, как он падает, прежде чем принять его.
Organic Marble avatar
флаг us
Работает удовольствие! Спасибо, что научили меня работать с xprintidle.
Рейтинг:8
флаг mx

Если монитор настроен на энергосбережение, вы можете проверить это:

xset -display: 0 q

Посмотрите на последнюю строку:

Монитор выключен
Organic Marble avatar
флаг us
Это выглядит очень многообещающе! Я только что попробовал и получил «Монитор включен». Я продолжу проверку и посмотрю, не сгорит ли он когда-нибудь.
justhalf avatar
флаг fr
@OrganicMarble, так он когда-нибудь выключен?
Organic Marble avatar
флаг us
@justhalf Я проверял это несколько раз за последний день. Он всегда показывался «вкл», поэтому это решение может не сработать в моем случае.
Рейтинг:6
флаг cn
raj

Ну... это только идея, но если вы входите по ssh под тем же пользователем, что и ваш родственник, установите ОТОБРАЖАТЬ переменная среды для :1 и беги xвходной тест n куда н это число, соответствующее мыши (вы можете получить это число с помощью xinput --список, в моем случае это 9), то эта команда напечатает строку текста (в виде движение а[0]=338 а[1]=889) при каждом перемещении мыши. Таким образом, вы можете направить вывод этой команды в какой-нибудь сценарий, который будет записывать время, когда он в последний раз получал какие-либо данные, таким образом, вы будете знать, когда мышь была в последний раз перемещена (конечно, это должно постоянно работать в фоновом режиме, чтобы записывать фактическое время). последнее движение мыши).

mckenzm avatar
флаг in
Если они смотрят видео, может не быть трафика мыши? Keepalives, как правило, является взломом буфера клавиатуры?
Рейтинг:1
флаг us

Я думаю, что единственный способ узнать это наверняка — это «шпионить» за их экраном.

  1. Установите x11vnc на свой компьютер с помощью sudo apt-get установить сетевые инструменты x11vnc

  2. (Необязательно) Создайте сценарий оболочки на их компьютере, чтобы автоматизировать процесс запуска сервера, чтобы вам не приходилось каждый раз запоминать синтаксис. Обратите внимание, что -аутентификация параметр может потребоваться изменить; Сейчас у меня есть только Fedora для тестирования, и Ubuntu может сохранить файл авторизации в другом месте.

#!/бин/ш
sudo x11vnc -auth /var/run/lxdm/lxdm-\:0.auth -display:0 -rfbport 5900 -localhost
  1. Установите свое любимое приложение для просмотра VNC на свой компьютер.

  2. Настройте туннелирование порта SSH для порта 5900 на вашем компьютере. Предполагая, что вы используете OpenSSH, поместите следующее в свой .ssh/конфигурация файл:

Хост ихимя хоста
    LocalForward 5900 локальный хост: 5900

Когда вы действительно хотите посмотреть на их экран:

  1. SSH на свой компьютер как обычно.

  2. Запустите сценарий оболочки (или введите этот большой судо x11vnc линия).*

  3. Запустите приложение для просмотра VNC и направьте его на подключение к локальный хост.

Вуаля, вы должны увидеть их экран.

*Примечание: вы получите несколько предупреждения о том, что сервер VNC не защищен паролем. Это не представляет угрозы безопасности, поскольку доступ к порту сервера VNC возможен только локально, а это означает, что любой злоумышленник должен уже войти в систему. Однако, если вы действительно обеспокоены, используйте x11vnc -storepasswd чтобы создать файл паролей, затем добавьте -rfbauth /home/user/.vnc/passwd к x11vnc командная строка.

Organic Marble avatar
флаг us
Я постоянный пользователь VNC, но мне нужно иметь возможность делать это с телефона, иногда используя только возможности терминала. Спасибо за хорошее предложение, которое может сработать для кого-то еще, +1.
HiddenWindshield avatar
флаг us
@OrganicMarble Я обычно использую VNC для входа в свой компьютер с телефона (Android), используя приложение SSH под названием Termius и клиент VNC под названием VNC Connect. (Конечно, есть и другие, это только два, которыми я пользуюсь.)
Organic Marble avatar
флаг us
Спасибо. Я также не чувствую себя комфортно, глядя на их экран без их разрешения, и если мне нужно спросить разрешения, они должны быть там...

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.