Это не вопрос ubuntu, однако я стараюсь вам помочь:
открытие корпуса ПК обычно делает его хуже, однако вы можете использовать большой вентилятор и поместить его в грязные кулеры с открытой стороны, как правило, являются проблемой - удалите всю пыль наилучшей идеей, но вам нужно некоторое время: снимите процессорный кулер, очистите все и перемонтируйте его несколькими (не слишком большим) термальным кремом. Удостоверьтесь, что кулер установлен на CPU (возможно, даже клип выпустил свою оболочку за время.Оригинальное сообщение находится в разделе ниже и подробно описано как перехватить команду /sbin/shutdown.
Из ингибитора systemd:
systemd-inhibit - Выполнить программу с блокировкой блокировки
systemd-inhibit [OPTIONS...] [COMMAND] [ARGUMENTS...]
systemd-inhibit [OPTIONS...] --list
Оригинальное сообщение может быть используется для выполнения программы с блокировкой блокировки выключения, сна или холостого хода.
Блокировки запрета могут использоваться для блокировки или задержки запросов на спящий режим и отключение пользователя от пользователя, а также автоматической обработки бездействия ОС , Это полезно, чтобы избежать приостановки системы во время записи оптического диска или подобных операций, которые не должны прерываться.
Для получения дополнительной информации см. Ингибитор systemd .
Понятно понимать следующие опции:
--what=
Записывает один или несколько операций с блокировкой двоеточия: «shutdown «sleep», «sleep», «idle», «key-power-key», «handle-suspend-key», «handle-hibernate-key», «handle-lid-switch», для запрета перезагрузки / выключения / halt / kexec, приостановка / спящий режим, автоматическое определение режима ожидания или низкоуровневая обработка клавиши питания / сна и переключателя крышки соответственно. Если опустить, по умолчанию используется значение «idle: sleep: shutdown».--who=
Делает список разделенных двоеточиями одной или нескольких операций для блокировки: «выключение», «спящий», «холостой», «рукоятка» «ключ», «рукоятка-приостановка-ключ», «рукоятка-спящий ключ», «ручка-переключатель-ключ» для запрета перезагрузки / выключения / остановки / kexec, приостановка / спящий режим, автоматическое определение режима ожидания или низкоуровневая обработка клавиши питания / сна и переключателя крышки соответственно. Если это опущено, по умолчанию используется «idle: sleep: shutdown».--why=
Делает короткую, понятную для человека описательную строку по причине блокировки , По умолчанию используется «Неизвестная причина».--mode=
Делает короткую, понятную для человека описательную строку по причине блокировки. По умолчанию «Неизвестная причина».--list
Перечисляет все активные блокировки торможения вместо их получения.-h, --help
Перечисляет все активные блокировки торможения, а не приобретает их.--version 38] Распечатайте короткую строку и выйдите из нее.
Возвращает статус выхода исполняемой программы.
# systemd-inhibit wodim foobar.iso
Это сжигает ISO-изображение foobar.iso на компакт-диске с использованием ингибиторов wodim (1) systemd и блокирует спящий режим, выключение и простоя при этом.
systemd (1), logind.conf (5)
В концепции это выглядит довольно легко. Просто найдите команду, переименуйте ее и замените ее собственным скриптом, который вызывает переименованную версию:
$ type -a shutdown
shutdown is /sbin/shutdown
$ sudo mv /sbin/shutdown /sbin/shutdownoriginal
Затем отредактируйте собственный скрипт в /sbin/shutdown, содержащий как минимум:
#!/bin/bash
/sbin/shutdownoriginal
Затем отметьте свой скрипт как исполняемый для всех:
$ sudo chmod a+x /sbin/shutdown
Voila! Все, что вызывает выключение, теперь вызывает ваш скрипт, который затем вызывает исходный комманд.
На самом деле, к тому времени, когда ваш скрипт вызван, все может быть не в состоянии, которое вы ожидаете. Например, я ввел некоторые команды для записи выключения, но они не работают:
echo "/sbin/shutdown custom script calling /sbin/shutdownoriginal"
shutdowntime=`date`
echo "Last shutdown: $shutdowntime" >> /home/rick/shutdownlog.txt
Первый echo должен появиться в /var/log/syslog, но это не так. Второй echo должен был добавить строку в файл журнала, но этого не произошло. Это говорит мне, что к моменту выполнения команды /sbin/shutdown регистрация системы уже отключена, и система ввода-вывода файлов отключена.
. Лучший подход - это посмотреть на цель остановки и / входные ингибиторы. Я оставлю этот ответ здесь, хотя для других, которые могут подумать, что он может / должен / должен работать.
Как всегда помните YMMV - ваш пробег может очень.
Оригинальное сообщение находится в разделе ниже и подробно описано как перехватить команду /sbin/shutdown.
Из ингибитора systemd:
systemd-inhibit - Выполнить программу с блокировкой блокировки
systemd-inhibit [OPTIONS...] [COMMAND] [ARGUMENTS...]
systemd-inhibit [OPTIONS...] --list
Оригинальное сообщение может быть используется для выполнения программы с блокировкой блокировки выключения, сна или холостого хода.
Блокировки запрета могут использоваться для блокировки или задержки запросов на спящий режим и отключение пользователя от пользователя, а также автоматической обработки бездействия ОС , Это полезно, чтобы избежать приостановки системы во время записи оптического диска или подобных операций, которые не должны прерываться.
Для получения дополнительной информации см. Ингибитор systemd .
Понятно понимать следующие опции:
--what=
Записывает один или несколько операций с блокировкой двоеточия: «shutdown «sleep», «sleep», «idle», «key-power-key», «handle-suspend-key», «handle-hibernate-key», «handle-lid-switch», для запрета перезагрузки / выключения / halt / kexec, приостановка / спящий режим, автоматическое определение режима ожидания или низкоуровневая обработка клавиши питания / сна и переключателя крышки соответственно. Если опустить, по умолчанию используется значение «idle: sleep: shutdown».--who=
Делает список разделенных двоеточиями одной или нескольких операций для блокировки: «выключение», «спящий», «холостой», «рукоятка» «ключ», «рукоятка-приостановка-ключ», «рукоятка-спящий ключ», «ручка-переключатель-ключ» для запрета перезагрузки / выключения / остановки / kexec, приостановка / спящий режим, автоматическое определение режима ожидания или низкоуровневая обработка клавиши питания / сна и переключателя крышки соответственно. Если это опущено, по умолчанию используется «idle: sleep: shutdown».--why=
Делает короткую, понятную для человека описательную строку по причине блокировки , По умолчанию используется «Неизвестная причина».--mode=
Делает короткую, понятную для человека описательную строку по причине блокировки. По умолчанию «Неизвестная причина».--list
Перечисляет все активные блокировки торможения вместо их получения.-h, --help
Перечисляет все активные блокировки торможения, а не приобретает их.--version
Распечатайте короткую строку и выйдите из нее.Возвращает статус выхода исполняемой программы.
# systemd-inhibit wodim foobar.iso
Это сжигает ISO-изображение foobar.iso на компакт-диске с использованием ингибиторов wodim (1) systemd и блокирует спящий режим, выключение и простоя при этом.
systemd (1), logind.conf (5)
В концепции это выглядит довольно легко. Просто найдите команду, переименуйте ее и замените ее собственным скриптом, который вызывает переименованную версию:
$ type -a shutdown
shutdown is /sbin/shutdown
$ sudo mv /sbin/shutdown /sbin/shutdownoriginal
Затем отредактируйте собственный скрипт в /sbin/shutdown, содержащий как минимум:
#!/bin/bash
/sbin/shutdownoriginal
Затем отметьте свой скрипт как исполняемый для всех:
$ sudo chmod a+x /sbin/shutdown
Voila! Все, что вызывает выключение, теперь вызывает ваш скрипт, который затем вызывает исходный комманд.
На самом деле, к тому времени, когда ваш скрипт вызван, все может быть не в состоянии, которое вы ожидаете. Например, я ввел некоторые команды для записи выключения, но они не работают:
echo "/sbin/shutdown custom script calling /sbin/shutdownoriginal"
shutdowntime=`date`
echo "Last shutdown: $shutdowntime" >> /home/rick/shutdownlog.txt
Первый echo должен появиться в /var/log/syslog, но это не так. Второй echo должен был добавить строку в файл журнала, но этого не произошло. Это говорит мне, что к моменту выполнения команды /sbin/shutdown регистрация системы уже отключена, и система ввода-вывода файлов отключена.
. Лучший подход - это посмотреть на цель остановки и / входные ингибиторы. Я оставлю этот ответ здесь, хотя для других, которые могут подумать, что он может / должен / должен работать.
Как всегда помните YMMV - ваш пробег может очень.
Оригинальное сообщение находится в разделе ниже и подробно описано как перехватить команду /sbin/shutdown.
Из ингибитора systemd:
systemd-inhibit - Выполнить программу с блокировкой блокировки
systemd-inhibit [OPTIONS...] [COMMAND] [ARGUMENTS...]
systemd-inhibit [OPTIONS...] --list
Оригинальное сообщение может быть используется для выполнения программы с блокировкой блокировки выключения, сна или холостого хода.
Блокировки запрета могут использоваться для блокировки или задержки запросов на спящий режим и отключение пользователя от пользователя, а также автоматической обработки бездействия ОС , Это полезно, чтобы избежать приостановки системы во время записи оптического диска или подобных операций, которые не должны прерываться.
Для получения дополнительной информации см. Ингибитор systemd .
Понятно понимать следующие опции:
--what=
Записывает один или несколько операций с блокировкой двоеточия: «shutdown «sleep», «sleep», «idle», «key-power-key», «handle-suspend-key», «handle-hibernate-key», «handle-lid-switch», для запрета перезагрузки / выключения / halt / kexec, приостановка / спящий режим, автоматическое определение режима ожидания или низкоуровневая обработка клавиши питания / сна и переключателя крышки соответственно. Если опустить, по умолчанию используется значение «idle: sleep: shutdown».--who=
Делает список разделенных двоеточиями одной или нескольких операций для блокировки: «выключение», «спящий», «холостой», «рукоятка» «ключ», «рукоятка-приостановка-ключ», «рукоятка-спящий ключ», «ручка-переключатель-ключ» для запрета перезагрузки / выключения / остановки / kexec, приостановка / спящий режим, автоматическое определение режима ожидания или низкоуровневая обработка клавиши питания / сна и переключателя крышки соответственно. Если это опущено, по умолчанию используется «idle: sleep: shutdown».--why=
Делает короткую, понятную для человека описательную строку по причине блокировки , По умолчанию используется «Неизвестная причина».--mode=
Делает короткую, понятную для человека описательную строку по причине блокировки. По умолчанию «Неизвестная причина».--list
Перечисляет все активные блокировки торможения вместо их получения.-h, --help
Перечисляет все активные блокировки торможения, а не приобретает их.--version
Распечатайте короткую строку и выйдите из нее.Возвращает статус выхода исполняемой программы.
# systemd-inhibit wodim foobar.iso
Это сжигает ISO-изображение foobar.iso на компакт-диске с использованием ингибиторов wodim (1) systemd и блокирует спящий режим, выключение и простоя при этом.
systemd (1), logind.conf (5)
В концепции это выглядит довольно легко. Просто найдите команду, переименуйте ее и замените ее собственным скриптом, который вызывает переименованную версию:
$ type -a shutdown
shutdown is /sbin/shutdown
$ sudo mv /sbin/shutdown /sbin/shutdownoriginal
Затем отредактируйте собственный скрипт в /sbin/shutdown, содержащий как минимум:
#!/bin/bash
/sbin/shutdownoriginal
Затем отметьте свой скрипт как исполняемый для всех:
$ sudo chmod a+x /sbin/shutdown
Voila! Все, что вызывает выключение, теперь вызывает ваш скрипт, который затем вызывает исходный комманд.
На самом деле, к тому времени, когда ваш скрипт вызван, все может быть не в состоянии, которое вы ожидаете. Например, я ввел некоторые команды для записи выключения, но они не работают:
echo "/sbin/shutdown custom script calling /sbin/shutdownoriginal"
shutdowntime=`date`
echo "Last shutdown: $shutdowntime" >> /home/rick/shutdownlog.txt
Первый echo должен появиться в /var/log/syslog, но это не так. Второй echo должен был добавить строку в файл журнала, но этого не произошло. Это говорит мне, что к моменту выполнения команды /sbin/shutdown регистрация системы уже отключена, и система ввода-вывода файлов отключена.
. Лучший подход - это посмотреть на цель остановки и / входные ингибиторы. Я оставлю этот ответ здесь, хотя для других, которые могут подумать, что он может / должен / должен работать.
Как всегда помните YMMV - ваш пробег может очень.
Я посмотрел на systemd-inhibit
. Я понял, что когда вы используете его перед командой, он ждет, пока ваша команда / сценарий не закончится до того, как система выключится, есть некоторые опции, чтобы заблокировать выключение но мне это не показалось очевидным. На данный момент ваше первое предложение работает для меня (я не против печатать «shutdown» вместо графического интерфейса). Вот пример сценария:
#!/bin/bash
if [ ! -d /media/myusername/myusbname ]; then
zenity --question --text "Are you sure you want to shutdown without saving? If not choose \"No\" and insert the usb key" 2> /dev/null
answer=$?
else
#save data
answer=0
fi
if [ $answer -eq 0 ]; then
/sbin/shutdownoriginal
else
zenity --info --text="Shutdown canceled" 2> /dev/null
fi
Спасибо
Я посмотрел на systemd-inhibit
. Я понял, что когда вы используете его перед командой, он ждет, пока ваша команда / сценарий не закончится до того, как система выключится, есть некоторые опции, чтобы заблокировать выключение но мне это не показалось очевидным. На данный момент ваше первое предложение работает для меня (я не против печатать «shutdown» вместо графического интерфейса). Вот пример сценария:
#!/bin/bash
if [ ! -d /media/myusername/myusbname ]; then
zenity --question --text "Are you sure you want to shutdown without saving? If not choose \"No\" and insert the usb key" 2> /dev/null
answer=$?
else
#save data
answer=0
fi
if [ $answer -eq 0 ]; then
/sbin/shutdownoriginal
else
zenity --info --text="Shutdown canceled" 2> /dev/null
fi
Спасибо
Я посмотрел на systemd-inhibit
. Я понял, что когда вы используете его перед командой, он ждет, пока ваша команда / сценарий не закончится до того, как система выключится, есть некоторые опции, чтобы заблокировать выключение но мне это не показалось очевидным. На данный момент ваше первое предложение работает для меня (я не против печатать «shutdown» вместо графического интерфейса). Вот пример сценария:
#!/bin/bash
if [ ! -d /media/myusername/myusbname ]; then
zenity --question --text "Are you sure you want to shutdown without saving? If not choose \"No\" and insert the usb key" 2> /dev/null
answer=$?
else
#save data
answer=0
fi
if [ $answer -eq 0 ]; then
/sbin/shutdownoriginal
else
zenity --info --text="Shutdown canceled" 2> /dev/null
fi
Спасибо