Установить wayland по умолчанию для GDM autologin

Во-первых, чтобы скрипт отображал имя машины, две вещи:
а) Измените способ удаленного выполнения скрипта, чтобы запустить его напрямую. на удаленном хосте. Для этого необходимо скопировать сценарий на удаленный компьютер. Мне нравится хранить мои личные служебные сценарии в каталоге с именем «do» в моем домашнем каталоге, поэтому я бы использовал его как
~ / do / ShutdownUPTIME.sh

Теперь измените строку, которая читает
ssh admusr @ "$ {n}" 'sudo bash -s' <./documents/ShutdownUPTIME.sh

к этому:
ssh admusr @ "$ {n}" sudo do / ShutdownUPTIME.sh $ n

Обычно вы передаете ему имя машины $ n в качестве параметра.

b) Затем измените сценарий ShutdownUPTIME.sh на использование переданного аргумента. Если у вас Mac , введите $ MACNAME .В начале сценария добавьте строку
MACNAME = $ 1

Теперь сценарий будет выглядеть следующим образом:

#!/bin/bash
MACNAME=$1
BOOT_TIME=$(sysctl -n kern.boottime | sed -e 's/.* sec = \([0-9]*\).*/\1/')
CURR_TIME=$(date +%s)
MAX_UPDAYS=1 #Days

DAYS_UP=$(( ( $CURR_TIME - $BOOT_TIME) / 86400 ))
if [ $DAYS_UP -ge ${MAX_UPDAYS} ];then
    echo Notice: $MACNAME is going to shutdown 
    sudo shutdown -h now
else
        echo Info: No shutdown for $MACNAME needed
fi

Я также добавил «Уведомление» и «Информация» к командам вывода, чтобы придать им некоторый уровень важности. - это помогает при последующей фильтрации журналов.

В качестве бонуса заставьте скрипт обрабатывать ситуацию, когда вы не указали имя Mac, указав значение по умолчанию. Например, присвоение значения MACNAME становится

MACNAME = $ {1: - $ (hostname)}

О ведении журнала: Cron отправит вам электронное письмо с выводом каждого задания, но это может быть очень неудобно. Самое простое решение - перенаправить вывод команд в локальный файл журнала.

Для этого просто добавьте перенаправление в строку «готово» цикла, чтобы он стал

готовым | tee -a $ LOGFILE 2> & 1

И это, конечно же, требует, чтобы вы установили имя в переменной LOGFILE ранее в скрипте, поэтому добавьте такую ​​строку в начале:
LOGFILE = / var / log /refreshing.log
( Примечание: укажите путь к файлу, в который у вас есть разрешение на запись)

Кроме того, вы можете регулярно добавлять метку времени в этот журнал, поэтому непосредственно перед циклом добавьте строку
echo Выполняется обновление в $ (дата) | tee -a $ LOGILFE

Запись в журнал вывода команды cron означает, что запись в журнал происходит только тогда, когда ваш скрипт выполняется из cron. Поэтому предпочтительнее заставить скрипт управлять своим собственным журналом. Я изменил сценарий, чтобы использовать tee вместо перенаправления, так что когда вы запускаете его в командной строке, вы все еще можете видеть результат.

2
24.11.2016, 12:45
1 ответ

Это ошибка в GNOME до версии 3.25.3.

Ваш вопрос устарел, скорее всего, вы перешли на Stretch. Если это так, вы можете проверить Debian Stretch: Как сделать Wayland по умолчанию?.

В противном случае вы можете исправить исходный код и пересобрать. Или в качестве обходного пути вы можете настроить синхронизированный вход с задержкой в ​​1 секунду.

0
27.01.2020, 22:44

Теги

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