Видео смотреть бесплатно

Смотреть в хорошем качестве hd видео

Официальный сайт rosregistr 24/7/365

Смотреть видео бесплатно

Dark_SS 04.08.2012 15:36

Tips & tricksКорректное завершение работы компьютера через терминал

Многим известны команды shutdown, halt, reboot, но у них есть как минимум два недостатка:
К счастью, мы живём в просвещённый век D-Bus, где это уже решено.

KDE

Среда KDE тесно интегрирована с этой системой и предоставляет метод org.kde.KSMServerInterface.logout для корректного завершения работы компьютера:
1
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1


Рассмотрим параметры, которые передаются методу. Для начала, -1 передаёт значение по умолчанию.
Первый параметр называется confirm и отвечает за подтверждение завершения работы. 0 приводит к непосредственному выключению, а 1 вызывает всем известное окошко с 30 секундной задержкой.
Второй параметр — sdtype — выбирает тип завершения работы:
Третий параметр — sdmode — выбирает режим завершения работы:

Общий случай

Также можно воспользоваться ConsoleKit и UPower:

Ещё больше удобства

Чтобы не запоминать все эти простыни, можно добавить соответствующие алиасы в конфиг вашего шелла. Например, я добавил в ~/.zshrc
1
2
3
4
5
6
alias haltk='qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 1 2 2'
alias rebootk='qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 1 1 2'
alias logoutk='qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 1 3 2'

alias haltd='dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop'
alias rebootd='dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart'


Credits



Тэги: consolekit D-Bus halt kde reboot shutdown Upower
+ 15 -
Похожие Поделиться

space 04.08.2012 16:08 #
+ 0 -
Как задать права на выполнение этих действий?
Dark_SS 04.08.2012 21:14 #
+ 0 -
В КДЕ должно работать, наверно, в любом случае. Для общего случая нужен консолькит и упауэр, также нужно иметь права на управление дбасом, т.е. быть в соответствующей группе.
space 04.08.2012 23:04 #
+ 2 -
В dbus или консолькит и упауэр нету разделения прав по действиям по обращениям к демонам, программам, и если в курсе сейчас dbus умеет работать по сети?
Dark_SS 05.08.2012 02:47 #
+ 0 -
Судя по всему, вы гораздо лучше меня владеете мат.частью =)
Гафар Джемилов 04.08.2012 16:31 #
+ 0 -
В Fedora 17 restart и halt не работают, а suspend норм.
Dark_SS 04.08.2012 21:08 #
+ 0 -
Может, консолькит не установлен. Ругается на что-нибудь?
elbahek 05.08.2012 12:29 #
+ 2 -
а права на выпонение этих действий задаются в /etc/polkit-1/localauthority/50-local.d/your-file-with-permissions.pkla (я назвал "20-org-freedesktop-shutdown.pkla")
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ cat20-org-freedesktop-shutdown.pkla
[Restart]
Identity=unix-group:wheel
Action=org.freedesktop.consolekit.system.restart
ResultAny=yes
ResultInactive=yes
ResultActive=yes

[Shutdown]
Identity=unix-group:wheel
Action=org.freedesktop.consolekit.system.stop
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Dark_SS 05.08.2012 13:50 #
+ 0 -
Интересно, у меня только такое есть:

%cat /etc/polkit-1/localauthority.conf.d/50-localauthority.conf
# Configuration file for the PolicyKit Local Authority.
#
# DO NOT EDIT THIS FILE, it will be overwritten on update.
#
# See the pklocalauthority(8) man page for more information
# about configuring the Local Authority.
#

[Configuration]
AdminIdentities=unix-user:0
elbahek 05.08.2012 14:19 #
+ 0 -
/etc/polkit-1/localauthority/50-local.d/
vs
/etc/polkit-1/localauthority.conf.d/

Я уже не помню, почему именно, я создал файл именно в этой папке. Наверное, можно и в той и в другой. Что я точно знаю, что добавлять пермишны в /etc/polkit-1/localauthority.conf.d/50-localauthority.conf не стоит, он действительно перетирается с каждым апгрейдом КонсолеКита.
Dark_SS 05.08.2012 15:11 #
+ 0 -
%ls -l /etc/polkit-1/
итого 8
drwxr-xr-x 2 root root 4096 дек. 8 2011 localauthority.conf.d
drwxr-xr-x 2 root root 4096 дек. 8 2011 nullbackend.conf.d
Dark_SS 21.08.2012 14:08 #
+ 1 -
С помощью systemd
(не обновлял тело, чтобы не нервировать подписчиков rss)
Вы можете использовать следующую команду:
1
systemctl poweroff

Для остановки системы, не выключая питания, воспользуйтесь:
1
systemctl halt

Если Вы находитесь в сессии локального пользователя и при этом никакого другого активного сеанса нет, то вышеприведенные команды будут работать без привилегий суперпользователя.
Dark_SS 21.08.2012 14:16 #
+ 0 -
Арчевики полущ.

Завершить работу и перезагрузить компьютер:
1
systemctl reboot

Завершить работу и выключить компьютер:
1
systemctl poweroff

Завершить работу и остановить(без выключения питания?) компьютер:
1
systemctl halt

Перевести систему в состояние ожидания:
1
systemctl suspend

Перевести систему в состояние гибернации: systemctl hibernate
VovanR 26.08.2012 16:15 #
+ 0 -
Все время делал
1
sudo shutdown -P now


Даже и не думал, что это не правильно.
Dark_SS 27.08.2012 02:11 #
+ 0 -
В топике всё сказано.
Bar Foo 19.09.2012 00:40 #
+ 0 -
Не понятно что мешает плеерам сохранять состояние по sigterm кроме кривых рук их кодера.
Dark_SS 04.01.2013 01:28 #
+ 0 -
slowpoke: Не ко мне вопрос.
Bar Foo 19.09.2012 01:16 #
+ 0 -
можно просто
1
sudo reboot



сомневаюсь что где-то оно все еще делает halt сразу, для этого есть -f

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн