Автор Тема: crontab rdesktop как запустить  (Прочитано 1382 раз)

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
crontab rdesktop как запустить
« : 31.05.2017 09:54:44 »
хочу по крону запустить rdesktop
написал скриптик для запуска

#!/bin/bash
/usr/bin/rdesktop -y -N -g1910x1000 -uadmin -padmin root.yandex.ru

но на почту получаю ошибку:

ERROR: Failed to open display:
TERM environment variable not set.

пробовал так:
DISPLAY=:0.0 /usr/bin/rdesktop -y -N -g1910x1000 -uadmin -padmin root.yandex.ru

не помогло.

графический интерфейс gnome

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: crontab rdesktop как запустить
« Ответ #1 : 31.05.2017 10:07:57 »
А точно надо от cron запускать? Да ещё и с правами root?
Тут скорее напрашивается какой-нибудь графический запуск из сеанса пользователя.

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
Re: crontab rdesktop как запустить
« Ответ #2 : 31.05.2017 10:25:41 »
а разве от рута происходит запуск ?
$crontab -e
вношу изменения.

$ crontab -l
#minute (0-59),
#| hour (0-23),
#| | day of the month (1-31),
#| | | month of the year (1-12),
#| | | | day of the week (0-6 with 0=Sunday).
#| | | | | commands

12  10  31 *   *       /home/user/1.sh

Цитировать
А точно надо от cron запускать?
а как в мое отсутствие по другому? в ручную я могу забыть.

не ну есть еще вариант написать скрипт который проверяет время и дату, и в нужный момент запускает rdesktop но это тот же самый крон, только рукописный.

Цитировать
Тут скорее напрашивается какой-нибудь графический запуск из сеанса пользователя.
какой ??
« Последнее редактирование: 31.05.2017 10:31:11 от him »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: crontab rdesktop как запустить
« Ответ #3 : 31.05.2017 10:39:47 »
Типа kcron если не путаю названия.

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

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: crontab rdesktop как запустить
« Ответ #4 : 31.05.2017 10:44:12 »
TERM environment variable not set.
Эту переменную среду окружения и прописывайте.
Андрей Черепанов (cas@)

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
Re: crontab rdesktop как запустить
« Ответ #5 : 31.05.2017 10:47:19 »
Цитировать
Эту переменную среду окружения и прописывайте.

а как ее прописать ?

$ echo $TERM
xterm
$ ls -al | grep xter
$

DISPLAY=:0.0 - не нужно ?
« Последнее редактирование: 31.05.2017 10:50:16 от him »

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
Re: crontab rdesktop как запустить
« Ответ #6 : 31.05.2017 11:04:33 »
поправил так:
#!/bin/bash
export TERM=xterm
export DISPLAY=:0.0
/usr/bin/rdesktop -y -N -g1910x1000 -uadmin -psicret root.yandex.ru

на почту получаю так:
X-Cron-Env: <TMPDIR=/tmp/.private/user>
X-Cron-Env: <TMP=/tmp/.private/user>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/user>
X-Cron-Env: <PATH=/usr/local/bin:/usr/bin:/bin:/home/user/bin>
X-Cron-Env: <LOGNAME=user>
X-Cron-Env: <USER=user>

TERM environment variable not set.
No protocol specified
ERROR: Failed to open display: :0.0

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: crontab rdesktop как запустить
« Ответ #7 : 31.05.2017 11:23:22 »
Возможно надо запустить что-нибудь типа xterm, а уже из него rdesktop

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
Re: crontab rdesktop как запустить
« Ответ #8 : 31.05.2017 11:36:41 »
Возможно надо запустить что-нибудь типа xterm, а уже из него rdesktop

а как это сделать?

Цитировать
надо иметь доступ к сеансу. А cron на это не расчитан - он расчитан для запуска консольных приложений.
ну так я и запускаю через скриптик. :)

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 549
Re: crontab rdesktop как запустить
« Ответ #9 : 31.05.2017 11:42:06 »
а как в мое отсутствие по другому? в ручную я могу забыть.
А какой смысл в rdesktop при отсутствии пользователя?

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
Re: crontab rdesktop как запустить
« Ответ #10 : 31.05.2017 11:48:54 »
очень просто:

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

проблема в том, что программно мышкой можно нажимать только в том случае, когда сеанс активен. в других случаях функция SetCursorPos(x,y); mouse_event() отказывается работать (ну или я не нашел решение), о как !
« Последнее редактирование: 31.05.2017 11:59:38 от him »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: crontab rdesktop как запустить
« Ответ #11 : 31.05.2017 12:00:07 »
Почитайте man xterm например.

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 549
Re: crontab rdesktop как запустить
« Ответ #12 : 31.05.2017 12:03:07 »
Как вариант можно попробовать такой костыль.
Пишем скрипт например на bash/python который проверяет наличие некоторого файла (например на /tmp), и если его находит, и не находит запущенного rdesktop то запускает rdesktop. Если файла не находит - то засыпает например на минуту. Запуск скрипта ставим в автозагрузку пользователю.
cron-м создаем файл в определенное время.
пользовательская сессия естественно должна быть в этом случае на linux-хосте запущена, и предполагаю что screen-saver лучше отключить.
« Последнее редактирование: 31.05.2017 12:08:42 от ASte »

Оффлайн him

  • Завсегдатай
  • *
  • Сообщений: 1 032
Re: crontab rdesktop как запустить
« Ответ #13 : 31.05.2017 12:09:29 »
Как вариант могу поредложить попробовать такой костыль.
Пишем скрипт например на bash/python который проверчет наличие некоторого файла (например на /tmp), и если его находит, и не находит запущенного rdesktop то запускает rdesktop. Если файла не находит - то засыпает например на минуту. Запуск скрипта ставим в автозагрузку пользователю.
cron-м создаем файл в определенное время.

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

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 246
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: crontab rdesktop как запустить
« Ответ #14 : 31.05.2017 12:19:30 »
xterm -e команда аргументы