Почитал тут про скрипты, этого не нашёл.
Провайдер инета у меня имеет привязку к MAC адресу (компа), роутера нет, поэтому шнур иногда дергаю с компа в ноут, и приходиться писать 3 строчки в консоль, что бы включить инет, лень. Сделал скриптик (сделал исполняемым chmod +x):
#!/bin/bash
ifconfig eth0 down
ifconfig eth0 hw ether ПУ:МП:УМ:ТР:АТ:АА up
pon dsl-provider
но не учёл, что тут команды то должны от SU выполняться, експереминтировать не стал, сразу сюда вот пишу)
Как, что дописать что б эти 3 строчки от супер пользоватиеля выполнялис?
В бунтах:
бла бла бла
sudo бла бла бла
sudo бла бла бла
Или перед запуском скрипта
sudo /путь/скрипт.sh
т.е. выглядеть будет так?
#!/bin/bash
sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether ПУ:МП:УМ:ТР:АТ:АА up
sudo pon dsl-provider
а пароли он как требовать будет? я просто хочу не черз консоль их запускть, так то я б просто сделал #sudo ./script
а мышкой на рабочем столе клик, и интернеты запустились
Можно Alt+F2 :
kdesu ./script
PS Подождите, народ подтянется, посоветует чего-нибудь.
У тебя абсолютно верный совет.
В папке рабочего стола правый клик мышкой -> Создать -> Ссылку на приложение... -> Там во вкладке Приложение команду kdesudo script
Напиши вот так:
#!/bin/bash
kdesudo ifconfig eth0 down
kdesudo ifconfig eth0 hw ether ПУ:МП:УМ:ТР:АТ:АА up
kdesudo pon dsl-provider
Пароль в окне будет спрашивать.
А это идея!
:-) На самом деле твой вариант и вариант _KoT_'а православнее. Правда, в твоем варианте kdesu доставлять придется (по умолчанию он не стоит).
Вообще, я советую создать UpStart Job. Тогда все само будет делаться: выдернул кабель - интерфейс опустился, вставил - поднялся.
Я его не доставлял... Скорее всего как рекомендуемый с чем-то поставился.
А может и нет - мне не стоит верить на слово )
По ходу kdesu это линк на kdesudo, потому что пакета kdesu нет.
Серьезно? Может, ты его не из репов ставил? :-)
Ага, компилял)
>UpStart Job
это как? и что? (лень гуглить)
Да, собственно, что тут гуглить, вот.
Дело в том, что мне приходилось делать это только один раз, да и то давно это было. Сейчас я сходу не расскажу по шагам - надо смотреть, вспоминать, заново разбираться. Думаю, с тем же успехом ты можешь сделать это сам :-)
Из того, что помню:
- нужно создать в каталоге /etc/init файл с расширением *.conf. Например, my_job.conf. Он должен быть обычным текстовым файлом, не исполняемым;
- в начале файла нужно указать директиву start on <имя_события> - самое сложное здесь, это выяснить какое событие возникает в UpStart, когда кабель втыкается;
- ниже написать что-то вроде:
script
ifconfig eth0 down
ifconfig eth0 hw ether ПУ:МП:УМ:ТР:АТ:АА up
pon dsl-provider
end script
Т.е. идея в том, что код между script и end script выполняется при возникновении события <имя_события>, которое указывается в директиве start on. Но, опять же, насколько я помню, описанных шагов недостаточно. Надо там еще что-то делать. Помню еще только, что вручную можно запускать так:
sudo start my_job
UPD: Кстати, в том самом каталоге /etc/init можно посмотреть примеры файликов *.conf ;-)
Возможно будет полезно...Я описывал похожую ситуацию вот тут. Там все делается через диспатчер, который анализирует состояние интерфейсов. Проблема решается добавлением скрипта в папку /etc/network/if-up.d, дав ему там права на исполнение.
Может создать рутом /usr/share/autostart и дать себе права на исполнение? Тогда автоматом будет запускаться.
можно сделать так, только я не знаю, по феншую ли это:
делаешь скрипт
#!/bin/bash
sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether ПУ:МП:УМ:ТР:АТ:АА up
sudo pon dsl-provider
потом пишешь в консоли sudo /etc/sudoers
там добавь строки:
Имя_пользователя ALL = NOPASSWD: ifconfig eth0 down
Имя_пользователя ALL = NOPASSWD: ifconfig eth0 hw ether ПУ:МП:УМ:ТР:АТ:АА up
Имя_пользователя ALL = NOPASSWD: pon dsl-provider
а потом можешь сделать ярлык на свой скрипт.
ок, спасибо, приду с работки попробую провернуть все эти офёры)
Пробуй методы DarkneSS'а и _KoT_'а, остальные не надо.
всё разобрался спасибо всем сделал как сказал _KoT_
только во вкладке приложение команду надо писать с параметро -с, что б он выполнил скрипт, тоесть
kdesudo -c "путь до скрипта"
p.s. я вот понять не могу, уже скок раз жму кому нть на плюсик на цитате, и ничего не происходит, чё за хэрь...
Мб кармы не хватает
Да, карма должна быть не меньше трех, по-моему. Может накликаем ему? :-)
UPD: пробуй, Filkt.
спасибо) получилос
в файл etc/rc.local
добавить строку вида /home/user/./script
Отправить комментарий