Еще новичок в Linux и работающем Ubuntu 12.10
У меня есть беспроводная флешка (ae2500), в которой есть известные проблемы, которые были частично решены с помощью ndiswrapper. Однако, чтобы использовать его, я должен запускать одни и те же сценарии при каждой перезагрузке, эффективно удаляя и переустанавливая драйвер. Я сделал файл .sh для запуска каждый раз, чтобы упростить его, но я должен каждый раз заходить в sudo.
Есть три решения, которые я ищу, и, хотя не все они необходимы для решения этой конкретной проблемы, я все же хотел бы знать их все в учебных целях.
Любая дополнительная информация, которая может помочь мне относительно этого, которую я не собирался спрашивать (включая оптимизацию моих команд) или общие знания, будет принята с благодарностью. Ниже приводится содержание файла. Я просто сделал это так, как поступил бы.
cd ~/ndiswrapper-1.58rc1
sudo modprobe -rf ndiswrapper
sudo rm /etc/modprobe.d/ndiswrapper.conf
sudo rm -r /etc/ndiswrapper/*
sudo depmod -a
sudo make uninstall
sudo make
sudo make install
sudo ndiswrapper -i bcmwlhigh5.inf
ndiswrapper -l
sudo modprobe ndiswrapper
Чтобы получить файл для запуска при запуске, вы, по сути, хотите поместить .desktop в /etc/xdg/autostart/
Вот как настроить .desktop для вашего файла из командной строки:
sudo mv file.sh /usr/bin
Это перемещает путь файла оболочки к /usr/bin
.
Затем перейдите к
/usr/share/applications
. Чтобы создать файл .desktop, введите
sudo -H gedit file.desktop &
& amp; означает, что вы все еще можете использовать терминал, но оставить файл открытым. Удобно, если у тебя память о золотой рыбке, как у меня.
В gedit напишите:
[Desktop Entry]
Name=myfileName
Exec=/usr/bin/file.sh
Type=Application
Terminal=false
Вы можете закрыть его сейчас, если хотите. Вы можете добавить его к значку, добавив также строку icon=path/to/icon
, если вам это нравится.
Теперь, чтобы запустить этот файл при запуске, вам нужно сохранить его копию в
/etc/xdg/autostart/
Это должно работать, если скрипт (myfile.sh) уже работает, то есть. [ 1117]
Вы можете попробовать поместить файл file.sh в /etc/init.d/ и использовать update-rc.d
update-rc.d file.sh defaults
. [Это - комбинация ответа сороки и моего собственного опыта.]
Чтобы заставить .sh сценарий (или любой другой сценарий) работать при начальной загрузке, Вы хотите;
Откройте leafpad или любой другой текстовый редактор и тип:
[Desktop Entry]
Name=yourScriptName
Exec=/usr/bin/yourScript.sh
Type=Application
Terminal=false
Тип:
cd ~/Desktop
~ означает домой, он должен теперь сказать что-то как:
userName@computerName:~/Desktop$
Затем:
sudo mv yourScript.sh /usr/bin
(обычно рекомендуется вставить его /usr/local/bin
так, чтобы это могло быть выполнено непосредственно командой yourScript.sh вместо "/path/to/script").
sudo cp scriptName.desktop /usr/share/applications
sudo mv scritptName.desktop /etc/xdg/autostart
Именно!
Я нахожусь на lubuntu 17.04, и он работает отлично для меня,
Я надеюсь, что это было полезным и четким объяснением :).
Wessel
У меня есть альтернативное предложение к другим ответам: используйте crontab
в качестве корневого запуска crontab и добавьте задание, похожее на это
http://en.wikipedia.org/wiki/Cron#Predefined_scheduling_definitions
Так я бы решил эту проблему. Я не готов сказать, что это лучше или хуже, чем другие ответы, и приветствую комментарии.
Чтобы запустить его при входе в систему (я нахожусь на 12.04, так что это может немного отличаться), просто нажмите на меню в правом верхнем углу (с параметрами выключения) и нажмите «Запуск приложений»
. Затем нажмите Add
, дайте ему имя и описание и найдите местоположение скрипта bash. Выйдите из системы, затем снова включите ее, и она должна работать.
Если вы делаете это таким образом, я бы предложил изменить sudo
на gksudo
в вашем скрипте, чтобы он затем запрашивал привилегии sudo в хорошем графическом интерфейсе, а не просто сидел на терминале и просил его.