Есть (насколько я могу судить) недокументированная функция, gnome-control-center
которая может быть использована для отображения определенной панели напрямую. Например, gnome-control-center sound
отобразит панель "Звук". Я пытался выяснить, как называется панель "Раскладка клавиатуры", но безуспешно:
gnome-control-center keyboard # Just the "Typing" and "Shortcuts" tabs
gnome-control-center layout # Not found
gnome-control-center keyboardlayout # Not found
gnome-control-center 'keyboard layout' # Not found
Где я могу найти список названий панелей для использования с этой командой?
решение1
Если у вас установлена версия 3.8, доступна новая функция, которая позволяет намного быстрее находить названия панелей. Она была добавлена только в ветку 3.8 по состоянию на 01.10.2013. Для справки, вот коммит, в котором была добавлена эта функция:
(gcc) Добавить параметр командной строки --list
gnome-control-center -l
что даст следующее со списком.
Available panels:
background
bluetooth
color
datetime
display
info
keyboard
mouse
network
notifications
online-accounts
power
printers
privacy
region
search
sharing
sound
universal-access
user-accounts
wacom
решение2
Я думаю, что вам нужно следующее gnome-control-center region
: это должно запустить раскладку клавиатуры и региональные языковые настройки.
Далее ниже приведен полный список отдельных gnome-control-center
команд, которые используются для запуска различных панелей настроек. Он был найден путем проверки тех, которые я знал, по исходному коду (хотя dpkg -L gnome-control-center
также может быть полезным).
Вы можете загрузить исходный код с помощью
apt-get source gnome-control-center
Теперь, когда вы его проверите, вы увидите, что в каждой папке есть файл desktop, в gnome-control-center-3.4.2/panels/
котором есть строка exec. Например, /wacom/gnome-wacom-panel.desktop.in
содержит строку: Exec=gnome-control-center wacom
.
Полный список для справки(большинство из них легко угадать, но я перечислю здесь для полноты картины)
1) Графический планшет Wacom --->gnome-control-center wacom
2) Раскладка клавиатуры --->gnome-control-center region
3) Учетные записи пользователей --->gnome-control-center user-accounts
4) Сочетания клавиш --->gnome-control-center keyboard
5) Универсальный доступ --->gnome-control-center universal-access
6) Громкость звука/события (только Unity) --->gnome-control-center sound-nua
7) Громкость звука/события --->gnome-control-center sound
(см. также gnome-sound-applet
регулировку громкости на рабочем столе)
8) Яркость экрана и блокировка --->gnome-control-center screen
9) Принтеры --->gnome-control-center printers
10) Управление питанием --->gnome-control-center power
11) Настройки сети --->gnome-control-center network
12) Мышь и тачпад --->gnome-control-center mouse
13) Системная информация --->gnome-control-center info
14) Дисплеи --->gnome-control-center display
15) Дата и время --->gnome-control-center datetime
16) Управление цветом --->gnome-control-center color
17) Блютуз --->gnome-control-center bluetooth
18) Фон рабочего стола --->gnome-control-center background
19) Язык (это немного отличается) --->gnome-language-selector
(но также см. gnome-control-center region
некоторые языковые настройки.
Для получения более подробной информации см. man gnome-control-center
иофициальный сайт.
решение3
По состоянию на январь 2016 года эта страница является первым результатом поиска Google по запросу «gnome-control-center get list of panels» и (сюрприз!) правильный ответ, данный 3 года назад, больше не является правильным.
Можно было бы подумать, что они уже придумали разумный способ получить список панелей, верно? Неправильно! (кто-нибудь, поправьте меня, если я ошибаюсь!).
Вот к чему я прибегнул:
strace 2>&1 -f gnome-control-center | grep panel
Затем проверьте этот вывод на предмет вероятных мест, где он ищет панели.
Итак, чтобы сэкономить вам время, вот как можно получить список панелей по состоянию на январь 2016 года (я уверен, что это не на 100% надежно, но, эй, в данный момент меня это устраивает!):
ls /usr/lib/x86_64-linux-gnu/control-center-1/panels/|sed -e 's/lib//' -e 's/.so//' -e 's/_//g'
Если вы используете 32-битную версию, то, очевидно, она у вас не сработает из-за этой штуки x86_64, поэтому вернитесь к команде strace выше и действуйте оттуда.
У меня такое чувство, что этот метод перестанет работать, скажем, через 6 месяцев.