LINUX.ORG.RU
ФорумAdmin

Автозапуск скрипта debian

 


0

2

Всем привет! Ребята, возникли кое какие сложности( есть у меня открытый терминальный клиент на дебиане, и есть скрипт rdesktop.sh для подключения к серверу. Задача такова, нужно что бы этот скрипт запускался автоматом, после каждой перезагрузки клиента. Подскажите пожалуйста, куда мне этот скрипт запихнуть надо? Или где его прописать? Потому что, что бы я ни делала, у меня грузится все время графа линукса((( Я пыталась через rc.local настроить-не работает, засунуть скрипт в init.d-т тоже не сработало, эксперементировала с bashrc-эффект конечно был, но не тот что нужно( HELP ME!!!

ЯННП, какая-то каша. Какой Debian то? Woody или Sarge? Скрипт тайна великая?

перезагрузки клиента
rc.local настроить-не работает

Работает, только для sysVinit. C systemd ,после небольшого шаманства, тоже будет.

в init.d

Это SysV. Походу точно Debian Sarge.

bashrc

Это после логина.

грузится все время графа линукса

Прочитайте про runlevels/targets.

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

anonymous
()

и есть скрипт rdesktop.sh

Что в этом скрипте?

Если там запускается rdp клиент, т.е. подключение к RDP серверу, то это графическая программа и как следствие она должна запускаться в x-сессии.

anonymous
()
Ответ на: комментарий от anonymous

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

Monstra
() автор топика
Ответ на: комментарий от Monstra

Напишите, какая версия Debian у вас.

Весь вопрос и состоит в том, как заставить его запускаться в этой x-сессии.

Если вы хотите запускать некоторое графическое окружение (DE), например XFCE4, KDE, GNOME или другое, то добавьте запуск вашего скрипта в автозапуск этого графического окружения.

В таком случае настраиваете запуск менеджера дисплеев (DM) на автовход под нужным пользователем, в настройках DE которого в автозапуске находится ваш скрипт.

anonymous
()
Ответ на: комментарий от anonymous

Cubian(release 7.6) И то что вы мне сейчас написали про DE и прочие штуки и настройки, мне не особо ясны. Чтоб вы понимали, мой уровень познаний в линуксе примерно (первый раз, в первый класс. Т.е. почти нулевой), я не так давно начала с ним работать.

Monstra
() автор топика
Ответ на: комментарий от Monstra

Cubian(release 7.6) И то что вы мне сейчас написали про DE

Просто есть консоль , а есть графика. Юзер может логиниться в консоли без графики. Поэтому нужно учитывать разные уровни запуска скрипта:

при старте системы

просто при логине

при логине в графике

Так вот, если надо именно при логине в графике, то это прописать проще всего в графическойц оболочке, которая у вас стоит, а они бывают разными: XFCE4, KDE, GNOME, MATE etc

Если помешать скрипт через гуи, то у всех разхгные меню. Но можно просто засунуть в виде АППА в /home/ВАШ_USERNAME/.config/autostart/startapp1.desktop

startapp1.desktop должен быть в виде

[Desktop Entry]
Type=Application
Exec=/path/to/your/script/script.sh
Hidden=false

constin ★★★★
()
Ответ на: комментарий от Monstra

Что вам не ясно в понятии «графическое окружение»? Что бы вам было понятно, делаем аналогию с Windows, в Windows есть «Пуск» -> «Все программы» -> «Автозагрузка», туда можно помещать программы, ярлыки, скрипты, которые должны выполняться после ввода имени и пароля.

В Linux тоже в любой графической оболочке, DE ( Desktop Environment) есть аналогичная Windows настройка автозапуска.

Вот в неё и добавьте свой скрипт.

Если у вас голая консоль, то установите X-сервер и какое-нибудь лёгкое DE, например Xfce4 или lxde.

И найдите в его настройках автозагрузку, туда добавьте ваш скрипт.

Это наиболее простой способ.

К тому же, если вам непонятны какие-либо описанные понятия, то всегда есть гугл. Где можно узнать что означает то, либо иное понятие. К тому же я старался писать терминами, которые применяются во всех системах, Windows, Linux, MacOS.

Вот вам запросы в google:
«графическое окружение (DE)»
«Linux xfce4 автозапуск приложений»
«Linux gnome автозапуск приложений»
«Linux DM автологин»

anonymous
()
Ответ на: комментарий от Monstra

Cubian(release 7.6)

Не дебиан, дериватив. На оф сайте пишут что DE - Mate, гугл подсказывает что автозапуск в Mate находится: «Control Centre > Personal > Startup Applications».

anonymous
()
Ответ на: комментарий от Monstra

Как я понимаю проблема решена.
Но всё же опишу.
система->параметры->персональные ->запускаемые приложения. Затем «добавить», в поле «команда» нажимаем «обзор» и находим наш скрипт)
Для проверки достаточно «завершить сеанс» и снова залогиниться.

Cubian(release 7.6)

интересно что за зверь

Чтоб вы понимали, мой уровень познаний в линуксе примерно (первый раз, в первый класс. Т.е. почти нулевой)

Интересный выбор для новичка. Вам даже интернет не всегда поможет. Иногда бывают особенности, специфичные для дистрибутива. Да даже для версии дистрибутива!

Новичку как правило рекомендуют что-то попсовое) когда ответ при первом же запросе к гуглу. Это семейство ubuntu-подобных (не советую), Mint (сразу всё настроено, красиво и удобно, насчёт стабильности не скажу), или чистый Debian (но тут уже подготовка минимальная нужна. Или если есть кому подсказать).

И то что вы мне сейчас написали про DE и прочие штуки

DE - это то, что вы видите на мониторе после авторизации. Именно благодаря ей вы можете открывать и таскать окошечки по рабочему столу, да и вообще увидеть рабочий стол.
DE, в мире линукс, бывают разные. KDE, GNOME3, MATE, Cinnamon и другие. Визуально они отличаются значительно. Да и кушают по-разному.
Без DE как правило (не всегда), пользователя встретит чёрный с мигающим курсором... который попросит логин.

PS удачи в начинаниях изучения мира *NIX!

PPS всё же интересно, зачем RDP? Что мешает познакомиться с ОС на реальном железе? Или хотя бы в виртуальной машине... что тоже не совсем удобно.

Ignatov ★★★
()
Ответ на: комментарий от Ignatov

Проблема еще в процессе решения) ос выбирала не я, мне просто всунули этот клиент и сказали «подключи», я работаю в тех.подд-ке, от того и нужен RDP) что бы пользователь, которому уйдет этот отк мог работать на сервере

Monstra
() автор топика
Ответ на: комментарий от Ignatov

А вот то, что вы описали «система->параметры->персональные ->запускаемые приложения.» в консоле мне как это оформить? В графе мне не удобно работать(

Monstra
() автор топика

Покажи тело скрипта, если не секрет. Возможно, получится сделать для него Xsession-враппер, который будет вместо DE сразу запускать RDP-клиент.

А вообще, для тонких клиентов есть специализированные дистрибутивы, например ThinStation.

spijet ★★★
()
Ответ на: комментарий от spijet

#! /bin/sh i=l while [$i]; do /usr/bin/rdesktop -k en-us -a24 -u имя домена \\-5 -r disk:disk=/mnt/ auto -r sound:local:alsa -f адрес сервера

Вообще я уже писала ранее, что к нему нет вопросов. Как мне сказали, надо где то правильно прописать его путь либо сам скрипт запихнуть в нужное место. Просто мои идеи уже закончились( я уже не знаю куда писать путь и куда пихать этот скрипт(

Monstra
() автор топика

В xfce - настройки -> сеансы и запуск -> автозапуск. Запустится после (авто)входа юзера в DE (в гномокедах тоже что-то такое должно быть)
/thread

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от Monstra

Во-первых, для такого лучше использовать LORCODE ([ code][ /code] в твоём случае, без пробелов).

Во-вторых, можно сделать вот такой Desktop-файл:

[Desktop Entry]
Name=Remote Desktop
Comment=RDP connection to remote server
Exec=/usr/bin/rdesktop -k en-us…
Type=Application
И записать его в /usr/share/xsessions/rdp.desktop. Так у тебя в логин-менеджере появится вариант графического входа сразу же в RDP-сессию. Как только RDP-сессия завершается — пользователь «вывалится» обратно в логин-менеджер. Либо можно прописать в Exec= путь до скрипта — тогда при выходе из RDP-сессии клиент будет перезапускаться, но возможности так просто выйти из пользовательской сессии обратно в логин-менеджер уже не будет.

А вообще, всё уже давно сделано за нас и в GNOME3 есть поддержка аналогичного «RDP Kiosk» на базе клиента Remmina.

spijet ★★★
()
Последнее исправление: spijet (всего исправлений: 1)
Ответ на: комментарий от Monstra

Вообще я уже писала ранее, что к нему нет вопросов.

А у меня есть, именно в таком виде он не рабочий. Как написали выше используйте www.linux.org.ru/help/lorcode.md а конкретно тэг code

anc ★★★★★
()
Ответ на: комментарий от Monstra

Зачем здесь while? while - это цикл, к тому же while 1 - это зацикленный цикл.

Достаточно:

#!/bin/sh
/usr/bin/rdesktop -k en-us -a24 -u имя домена \\-5 -r disk:disk=/mnt/ auto -r sound:local:alsa -f адрес сервера
while не нужен.

Если вам неудобно это делать в графической оболочке, то сделайте это раз на какой-нибудь машине с этим ДЕ, а затем посреством grep и find найдите куда это DE добавило настройку.

Т.е. подключаетесь в графическую оболочку, добавляете в запуск скрипт, а далее смотрите:

grep -R 'имя_скрипта' ~/*
и
find ~/ -name 'имя_скрипта'
Смотри где найдены настройки, потом через консоль ты сможешь их воспроизвести.

Ну либо гугли в Internet где в используемом DE записываются настройки.

anonymous
()

Это ОТК, что-ли? Там вроде своя оболочка консольная была для этих целей. У меня такая коробочка как сканер принтер используется, как буду там могу посмотреть как автозапуск графики сделан.

einhander ★★★★★
()
Ответ на: комментарий от Monstra

А вот то, что вы описали «система->параметры->персональные ->запускаемые приложения.» в консоле мне как это оформить? В графе мне не удобно работать(

После добавления нового пункта в этой, в директории
ls -l ~/.config/autostart
(где ~/ - домашняя директория пользователя)
появится новый файл. Именно он вам и нужен.
В следующий раз его просто с помощью скрипта можно закинуть автоматически.
И да, это решение уже было.
Любое действие с помощью мышки в Linux можно выполнить с помощью консоли.

Ignatov ★★★
()
Ответ на: комментарий от Ignatov

Да это отк. Скрипт рабочий! прописав команду

startx /home/user/rdesktop.sh

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

Типо так : идешь /сюда /пишешь/это готово!

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

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

Monstra
() автор топика
Ответ на: комментарий от Monstra

И я буду признательна если, вы мне напишите(извините за грубость) инструкцию для тупых)

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

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

Команда 'grep' тебе в помощь.

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

Поэтому, просто проделай САМА действия по добавлению скрипта в автозапуск в графическую оболочку руками, а потом посмотри куда прописался автозапуск.

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

Ну вот и спроси у них, ты же всё равно игнорируешь советы этого форума. Тем более им за это деньги платят.

anonymous
()
Ответ на: комментарий от Monstra

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

Давай видео, посмотрим.

anonymous
()
Ответ на: комментарий от Monstra

на случай, если интересует запуск сессии с через команду startx Но это немного другая тема. На рядовом десктопе этим занимается система, в которой логинимся.
https://wiki.archlinux.org/index.php/Xinitrc_(Русский)

Ignatov ★★★
()
Последнее исправление: Ignatov (всего исправлений: 1)
Ответ на: комментарий от Monstra

я не понял,

почему ваши сис.админы не могут подключиться по ssh и настроить? в чем проблема то?

sqq
()
Ответ на: комментарий от Monstra

Т.к. настроено сейчас: по сети посредством pxe загружается gentoo, подключает корневую файловую систему с сети на NFS, запускается и в rc.local прописана команда запускающая от пользователя user посредством xinit rdp клиент на полный экран.

Чем не устраивает готовая gentoo, грузящаяся по сети? Если там нет поддержки сетевой карты новых систем, то нужно пересмотреть ядро.

А так, посмотри какой скрипт лежит на nfs в /etc/local.d/ сделай его автозапуск в аналогичном rc.local, в зависимости от системы инициализации твоего дистрибутива.

В этом случае графическую оболочку нужно убрать из автозапуска.

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

anonymous
()
Ответ на: комментарий от anonymous

Чем не устраивает готовая gentoo, грузящаяся по сети? Если там нет поддержки сетевой карты новых систем, то нужно пересмотреть ядро.

Писал с телефона. Если система не загружается по сети, то скорее всего в ядре собранной Gentoo нет поддержки сетевой карты нового компьютера. В таком случае нужно пересобрать ядро с поддержкой нужного сетевого адаптера.

Затем поместить в initramfs модули нового ядра и всё будет работать.

Для этого тебе нужно найти конфиг этого ядра и показать вывод

lspci -k
с текущей установленной системы.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.