Могу ли я загружаться по символическим ссылкам?

Как Павел Селиванов указывает в этой статье , необходимо установить DBUS_SESSION_BUS_ADDRESSи DISPLAY, чтобы включить задачи, связанные с графическим интерфейсом, из cronjob.

Он написал сценарий оболочки, который получает DBUS_SESSION_BUS_ADDRESSдля XFCE, Gnome, Unity, Cinnamon и KDE. Я могу подтвердить, что он работает под ubuntu:16.04.

$ sudo nano /usr/local/bin/gui-cron

#!/bin/sh
[ "$#" -lt 1 ] && echo "Usage: $0 program options" && exit 1

program="$1"
shift

user=$(whoami)
env_reference_process=$( pgrep -u "$user" xfce4-session || pgrep -u "$user" cinnamon-session || pgrep -u "$user" gnome-session || pgrep -u "$user" gnome-shell || pgrep -u "$user" kdeinit )

export DBUS_SESSION_BUS_ADDRESS=$(cat /proc/"$env_reference_process"/environ | grep -z ^DBUS_SESSION_BUS_ADDRESS= | sed 's/DBUS_SESSION_BUS_ADDRESS=//')
export DISPLAY=$(cat /proc/"$env_reference_process"/environ | grep -z ^DISPLAY= | sed 's/DISPLAY=//')
"$program" "$@"

Затем можно создать пользовательское задание cron, которое запускается по заданному расписанию с помощью синтаксиса crontab. Здесь, например. каждые 15 минут с 22 :00 до 05 :59:

$ crontab -e

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
*/15 22-23,00-05 * * * gui-cron gnome-session-quit --power-off

0
08.09.2020, 15:48
2 ответа

Стандартное использование Unix состояло в том, чтобы иметь (небольшой )загрузочный диск (с /bin, /lib, /etc, /tmp, возможно /sbinи очень немногим другим ), и смонтировать, например диск с /usr, другой с /home,... в соответствующих точках. Сегодняшние диски TiB делают этот (в основном )спорным... установка вашего дистрибутива, вероятно, установит (небольшой )раздел для загрузки и «остальной части диска», вы все еще можете настроить и смонтировать другие диски (даже сетевые файловые системы )под этим, и все это рассматривается как (в основном )цельный блок.

Установка этого (или использование LVM для создания логического тома, охватывающего несколько дисков и т. д. ), вероятно, означает установку с нуля.

0
18.03.2021, 23:06

Единственными файлами, к которым у вас должен быть доступ для загрузки системы Linux, являются ядро ​​и initramfs (, если вы их используете; большинство дистрибутивов делают ). Есть два основных способа сделать это на текущих ПК :: они могут храниться в системном разделе EFI (ESP )или в разделе, выделенном для /boot. Последняя конфигурация поддерживается большинством дистрибутивов.

Все остальное может размещаться в логическом томе или нескольких томах, построенных как угодно, на любом числе дисков (в пределах mdподсистемы ядра, но они достаточно высоки, чтобы не быть концерн ). Обычно у вас будет один том для /и один для /homeи, возможно, другие (/usr/var,... ), но вам это не обязательно.

1
18.03.2021, 23:06

Теги

Похожие вопросы