
Обновил ubuntu 13.04 до 13.10, кнопка "настройки" с выключением/настройками/логином/выходом отсутствует на панели задач. Это была кнопка, которая раньше была рядом с кнопкой времени/календаря, слева справа. Можно ли ее настроить или загрузить?
решение1
Например, Чи Хо упомянул, что это ошибка. Я хотел бы предложить обходные пути. Это может быть полезно и другим в будущем, и мне было очень весело, пока я размышлял над этим вопросом, так что, пожалуй, стоит опубликовать это "решение".
Итак, вы знаете, как можно выключить компьютер через bash, верно? Ну, также можно выйти из GUI через bash, введя gnome-session-quit
(и не беспокойтесь обо всей этой штуке с gnome-session, она работает в любом случае). Что если бы вы могли создать скрипт, который выводит окно терминала и просит вас выбрать выход или выход? Ну, вот он.
Прежде чем начать писать скрипт, откройте файловый менеджер, перейдите в раскрывающееся меню «Правка» -> «Настройки» -> «Поведение» и установите флажок «Запускать исполняемые текстовые файлы при открытии». Это фактически позволит вам запускать скрипт с рабочего стола.
Теперь о самом скрипте. Откройте терминал (Ctrl+Alt+T) и введите nano ~/Desktop/Logout_Script.sh
. В этом случае я использую текстовый редактор nano для создания Logout_Script.sh на рабочем столе, но это формальность — вы можете выбрать любой текстовый редактор, который вам нравится.
Вот текст самого скрипта:
#!/bin/bash
xterm -hold -e " echo 'Enter your password to shutdown, Ctrl+C to logout instead'; sudo shutdown -P +10 || gnome-session-quit --logout "
Давайте посмотрим, что на самом деле здесь происходит. xterm -hold -e " "
откроет окно xterm и удержит его, и выполнит любой набор команд, который вы поместите между кавычками. В этом случае он откроет окно xterm и удержит его, и выведет запрос на ввод пароля для выключения или, если вы хотите отменить, нажмите Ctrl+C. Далее следует фактическая команда выключения, которая запросит у вас пароль. Логическое или (||) оценит, успешно ли завершилось выключение или нет. Если вы нажмете Ctr+C на этом этапе, это отменит выключение и выполнит следующую команду, которая является gnome-session-quit. Это, в свою очередь, должно вызвать прозрачное приглашение на выход из системы. После того, как вы закончите писать, не забудьте изменить разрешения скрипта, чтобы вы могли фактически выполнить его. То есть,
sudo chmod 755 ~/Destop/Logout_Script.sh
Вот окно xterm, которое появляется, когда я нажимаю Enter в скрипте (извините за яркие цвета):
Обратите внимание, я упоминал, что xterm -hold -e будет удерживать окно xterm до тех пор, пока оно не будет закрыто. То есть, оно будет удерживаться, пока вы не закроете его графически, нажав на красный крестик в правом верхнем углу, но если вы планируете выйти из системы или завершить работу, это не понадобится, поэтому мы можем проигнорировать это. Но что, если вы открыли окно, ввели пароль, система перешла к завершению работы, а затем на полпути вы решили отменить его? Тогда окно будет висеть, и вам придется закрыть его графически. Почему? Потому что команда shutdown успешно завершилась, поэтому логично, что или не будет выполняться часть скрипта gnome-session-quit. Кроме того, в скрипте, который я написал sudo shutdown -P +10
, который выключит компьютер в течение 10 минут, но если вы хотите немедленного выключения, вы можете написать now
вместо +10
.
И еще одно: обратите внимание на последовательность -hold и -e. Если вы поставите -e первым, это приведет к ошибке, поэтому для фактического удержания окна -hold должен быть первым.
Зачем писать такой скрипт? Просто для замены отсутствующего индикатора, я полагаю. Конечно, на ноутбуках (не уверен насчет настольных компьютеров) есть кнопка питания, которая на самом деле дает вам прозрачное меню с вариантами выхода из системы-выключения-приостановки, но так веселее.
Надеюсь, это поможет вам или кому-то еще. Если кто-то хочет улучшить этот скрипт, пожалуйста, сделайте это, просто дайте мне знать, что вы изменили - я тоже хочу научиться :)
Некоторые источники:
решение2
Похоже, вы столкнулись с этой ошибкой:https://bugs.launchpad.net/ubuntu/+source/indicator-datetime/+bug/1239710Пожалуйста, проверьте, сработает ли предложенное исправление в вашем случае.