LINUX.ORG.RU

Добавление скрипта в автозагрузку в Fedora 24 (GNOME)

 , , ,


1

2

Обчитался уже, обгуглился, перепробовал, наверное, всё — не получается. Единственный рабочий способ - добавление строчки скрипта в файл ~/.bash_profile, тогда всё запускается, всё работает. Может у кого завалялась где-нибудь ссылка на рабочий мануал по правильному добавлению своих скриптов в автозагрузку? Т.к. подозреваю, что .bash_profile ни к чему засорять своими скриптами...

Ответ на: комментарий от Dred

Там можно выбирать только установленные программы, а свои самописные скрипты - нет...

Desmond_Hume ★★★★★
() автор топика

Вроде можно desktop-файл в ~/.config/autostart для иксов. Можно systemd-юнит замутить с типом oneshot, если прям при старте системы надо.

Зависит от того, что в скрипте.

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

В скрипте одна лишь строчка

mount ~/webdav.yandex.ru
C systemd вообще какие-то непонятки. Что-то пытался делать, но ничего не заводится при перезагрузке. Никогда бы не подумал, что такая тривиальная задача заставит 2 часа красноглазить в гугле)))... это жесть!

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

Уже положил. Не знаю, какой-то слишком замороченный способ, по сравнению с .bash_profile... Создавал systemd.service со своим названием, с путём к скрипту - ничего не завелось. Начинает потихоньку доходить, почему все плюются в этот systemd.

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

причём тут systemd?

можешь и в bash* написать, пофиг, выше это для гнома и прочих DE

а если конкретно твоё с «mount», то смотри, может ли твой пользователь делать mount

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

Долго объяснять, но к этому я пришёл через это... И не только это, но и это. А способ с desktop-файлами рабочий(только что проверил), но замороченный. Объясню почему. Для этого способа надо создать два файла в папке ~/.config/autostart: один - файл скрипта, другой desktop-файл. В последнем есть ссылка на файл скрипта. 2 телодвижения. В случае с .bash_profile только одно телодвижение, и то короткое очень (не надо писать #!/bin/bash сверху - уже всё есть). Думал, что в системе предусмотрено что-то типа .bash_profile, куда пользователь может добавлять свои скриптики или что-то подобное...

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

Начинает потихоньку доходить, почему все плюются в этот systemd.

Потому что безмозглые кретины, не умеющие в документацию.

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

Потому что это разные вещи — пользовательский и общесистемный запуск, с DE и без. Для пользователя не нужно ничего создавать — это задача DE после того как ты нажмёшь кнопку, с профилем тоже самое почти, только вписываешь нужное.
Не надо смешивать всё в одну кучу просто, а пользоваться определёнными способами и инструментами в определённых же случаях.

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

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

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

Тебе нужно авто монтирование, делается через 2 systemd юнита

mount-point.mount
mount-point.automount

где mount-point имя полученное при помощи

$ systemd-escape mount/point
mount-point

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

Кстати, пробовал даже метод с crontab - ничего не работало. Ничего не монтировалось. Где-то на форуме прочитал, что в crontab можно прописать такую команду:

@reboot /путь/к/скрипту/
И она будет всё время запускаться при перезагрузке системы. А вот фиг. Да и man молчит про @reboot. Видимо, какой-то старый форум читал, всё уже изменилось. По событию crontab уже не работает, только временным периодам.

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

скрипт в автозагрузку в Fedora 24 (GNOME)
crontab

ого, сервер ещё разверни для такого дела

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

Пытаюсь переварить то, что ты написал. Красноглажу в Red Hat Administration Guide. Пока всё здорово... непонятно.

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

Тогда надо intelfx саммонить. Он в systemd шарит.

Я юниты для демонов писал, а вот на счет mount-юнитов с fuse я не в курсе совершенно.

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

Чтобы не потерялся)). Я один раз так удалил скрипт, который был мне нужен.

Desmond_Hume ★★★★★
() автор топика

Тебе на каком этапе нужно выполнение скрипта?

Есть варианты:

  • до входа в систему, от рута (systemd);
  • непосредственно перед первым входом в систему, от юзера (systemd --user);
  • через какое-то (небольшое, но неопределённое) время после входа в систему, от юзера (~/.config/autostart).
intelfx ★★★★★
()
Ответ на: комментарий от intelfx

3 вариант, в принципе. В первых двух смысла для себя не вижу. Мне нужно, чтобы webdav-папка монтировалась при заходе в систему от пользователя. К этой webdav у меня привязаны backup'ы с deja-dup'a.

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

Он запускается раз в сутки. А когда, фиг его знает. Думаю, что время идёт от начала предыдущей синхронизации данных...

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

Он запускается сам. Там в настройках можно указать: раз в сутки, раз в неделю, в месяц... Видимо, какой-то демон висит от deja-dup, который следит за периодом, в фоне.

Desmond_Hume ★★★★★
() автор топика

man xdg .config/autostart - там стартовые скрипты

mystery ★★
()
Ответ на: комментарий от intelfx
ls ~/.config/autostart/
cryptkeeper.desktop          dropbox.desktop              geary_hidden.sh              mozilla-thunderbird.desktop  webdavmounting.desktop       whatsie.desktop
dayplanner_auto.desktop      geary_hidden.desktop         guake.desktop                shutter.desktop              webdavmounting.sh  
Desmond_Hume ★★★★★
() автор топика
Ответ на: комментарий от Desmond_Hume

Стоп, а тогда зачем ты вообще хочешь добавлять в автозапуск какие-то команды? Монтировать при загрузке системы, штатными средствами, не вариант?

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

У меня почему-то само не автомонтируется. Приходится всё время вручную подключать webdav-диск. В fstab он прописан, но автоматически монтироваться не хочет. Я потому и решил затеять этот скрипт, который бы всё время выполнялся при заходе в систему.

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

У меня почему-то само не автомонтируется. Приходится всё время вручную подключать webdav-диск. В fstab он прописан, но сам монтироваться не хочет.

Логи где?

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

Тогда:

  • В гномовских настройках соединения выставь чекбокс «Разрешать другим пользователям», или «Системное соединение», или какой-то такой;
  • сделай systemctl enable NetworkManager-wait-online;
  • допиши в fstab в параметры этой точки монтирования _netdev.

Если при ребуте не подмонтируется — покажи логи (journalctl -b).

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

Всё сделал, как написал, но не получилось. Папкa не примонтирована после загрузки рабочего стола. Логи journalctl -b здесь.
Содержимое /etc/fstab:

#
# /etc/fstab
# Created by anaconda on Tue Apr  5 13:26:50 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/luks-e494ff2b-4b5e-4b01-9ddf-f34d58cb2038 /                       ext4    defaults,x-systemd.device-timeout=0 1 1
UUID=12d10dae-123f-4ac6-9abb-dbba5c9e4d4a /boot                   ext4    defaults        1 2
/dev/mapper/luks-b952532e-4d03-41f4-b5df-8ef1e14c2e7a /home                   ext4    defaults,x-systemd.device-timeout=0 1 2
/dev/mapper/luks-3a98f645-9081-4e90-8352-a2aa4703710c swap                    swap    defaults,x-systemd.device-timeout=0 0 0
UUID=8a8f70ca-66d2-4a8b-8fed-45d237e8f7f0	/mnt/Container3TB	ext4	defaults	0	0
https://webdav.yandex.ru	/home/pushistiq/webdav.yandex.ru	davfs	rw,user,noauto,_netdev	0	0

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

rw,user,noauto,_netdev

noauto

Убери noauto. Выдержка из man mount:

noauto Can only be mounted explicitly (i.e., the -a option will not cause the filesystem to be mounted).

// Зачем выкладывать в виде картинки то, что изначально является текстом?

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

noauto убирал - система не грузится в аварийный режим) А, нет, в этот раз, после добавления параметра _netdev - всё по-другому, всё загрузилось, всё примонтировалось. Успех!) Спасибо!

Desmond_Hume ★★★★★
() автор топика
Последнее исправление: Desmond_Hume (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.