Здравствуйте!
Ситуация такая.
Есть скрипт который запускает Firefox браузер через crontab и через какое-то время другой скрипт их убивает. (Одновременно может быть запущено неколько браузеров(-no-remote))
У firefox есть ключ: "--display=" тоесть ему можно передать адрес X сервера.
Вопрос: Как увидеть на своем экране, браузеры которые открылись его до моего входа в систему?
Если не трудно, приведите пожалуйста пример.
Так же подскажите пожалуйста, как при старте системы создавать виртуальный дисплей. Чтобы в любой момент времени firefox смог открыть окно, даже если на машине нет в данный момент ни одного активного пользователя.
Вопрос про систему X.
а разве вам удасться запустить файефокс до входа в систему? вы ж еще Х сессию не проинициализировали...)))
Вы можетеь запустить Х-приложение, только когда Х11 запущен., а он запускается из под залогигеного пользователя...
2Харитон: Спасибо за ответ! Пожалуйста расскажите как можно запустить X11 при старте системы(физического юзера). Может быть можно создать фиктивного юзера и запускать его сессии при старте системы.
bushevuv, так у вас X11 и так запускается при старте системы :)
bushevuv, так у вас X11 и так запускается при старте системы :)
Ок, начнем сначала? )
У меня есть удаленный сервер на Ubuntu 12.04.2 LTS
Допустим, что он может быть в любой момент перезагружен без моего ведома.
С каким ключем для дисплея запускать firefox?
firefox --display=:10.0
Откуда брать адрес виртуального монитора? И вообще, будет ли он существовать после перезагрузки. Спасибо!
bushevuv, любая программа может быть запущена от вашего имени и с вашими
правами только после вашей инициализации. Что и будет после перезагрузки (если там один юзверь) :)
Не факт :) При запуске системы можно запустить любую программу от любого имеющегося в системе пользователя без его инициализации, сиречь входа входа этого пользователя в систему.bushevuv, любая программа может быть запущена от вашего имени и с вашими
правами только после вашей инициализации.
/usr/bin/su USER -c 'запуск_программы_или_демона'Что и будет после перезагрузки
Несовсем так, на тачке куча сервисов, куча юзеров.
Может быть стоит создать юзера firefox и выполнять вход от него при каждой перезагрузке, каким-либо скриптом?
/usr/bin/su USER -c 'запуск_программы_или_демона'
/usr/bin/sudo -u <USER> <COMMAND>
Самое главное, чтобы, я, авторизовавшись увидел открытые браузеры понимаете?
У Вас su может находиться в другом каталоге.-bash: /usr/bin/su: No such file or directory
У Вас su может находиться в другом каталоге.[/quote][quote="bushevuv⇓"]-bash: /usr/bin/su: No such file or directory
Да, уже разобрался с этим, не su а sudo :)
Су тоже есть разумеется:
unmanner@luna-server:~$ whereis su
su: /bin/su /usr/share/man/man1/su.1.gzС этим все ясно, остался вопрос про дисплеи)
Именно su :) sudo это несколько иная команда.Да, уже разобрался с этим, не su а sudo
Но я писал не об этом, а о том, что можно запустить любой процесс от любого пользователя без входа этого пользователя в систему.
bushevuv, в порядке offtop'а — вы случайно не интернет-киоск делаете?
Во-во! У меня тоже закралась эта мысль :)bushevuv, в порядке offtop'а — вы случайно не интернет-киоск делаете?
Ого, не знал что эти ящики так называются :) нет, не для этого :) Мне необходимо выполнять некие действия с некими сайтами используя для этого браузеры, не будет вдаваться в подробности :)
Ок, я понял. Могу запустить что хочу и когда хочу.
Остался только вопрос, как правильно запустить браузер скриптом, чтобы потом, залогинившись под каким-либо юзером я смог увидеть его открытое окно?
Если вы запускаете удаленно через ссш, то если у вас 1 монитор на сервере делаете так:
1. логинитесь по ссш под тем пользователем, под которым ваша система логинится в графику автоматом.
2. выполняете DISPLAY=':0' firefox &
:0 означает - на первом мониторе системы.
под любым пользователем не получится, только под тем под которым осущевствлен вход.
Может можно сделать по другому. Вы лучше сформулируйте что вам в конце концов надо? Может вам надо чтоб при старте системы всегда браузер был загружен для любого пользователя?
2Харитон: Ок, я вас понял, вы практически ответили на мой вопрос.
в конце концов надо
На сервере работает некая программа и для своей работы ей нужны браузеры firefox, программа многопоточна и одновременно может запускать ~100 браузеров. Программа сама "рулит" запуском/завершением процессов-браузеров.
Я же хочу, наблюдать как она работает с ними(просто смотреть на эти браузеры). Как-то так :) Разумеется если я в данным момент не "сомотрю" на них, то на работу системы это влиять не должно.
наблюдать как она работает с ними(просто смотреть на эти браузеры). Как-то так
Вот от здесь - подробнее пжалста ©! "Наблюдать" - это как?
"Наблюдать" - это как?
Залогиниться по xvnc и узреть уже открытые браузеры, а так же смотреть как открываются новые и закрываются старые :)
Залогиниться по xvnc и узреть уже открытые браузеры, а так же смотреть как открываются новые и закрываются старые :)
То есть, под голыми иксами смотреть на приложения графикой выше них? Ню-ню... Флаг в руки и эта...
То есть, под голыми иксами смотреть на приложения графикой выше них?
Что значит под голыми? over rdp. Я вижу свои запущенные приложения то, весь вопрос, как додключиться к другому дисплею вот и все. Просто мне кажется что setenv DISPLAY="..." не будет достаточно.
Мне кажется что лучше всего меня понял Харитон, попробую его метод.