убунту 14.04 + гном 3.10 + перезапуск оболочки гнома

Есть ли способ попросить gnome-shell запускать скрипт оболочки при каждом запуске?

(Как после Alt + F2 затем r , а не при входе в систему)

NB: Если вы думаете, что речь идет о стартовом списке, это не так: выполните Alt + F2 , затем r и скажите мне если приложения в списке запуска запущены: их нет (по крайней мере, не в моей настройке).

К сожалению, через сценарий оболочки он еще не работает:

#!/bin/bash
 gnome-shell --replace
 sleep 10
## reset screen config
 xrandr --output HDMI1 --mode 1920x1080 --pos 0x0 --rotate normal --output VIRTUAL1 --off --output DP1 --off --output eDP1 --off --output VGA1 --off

## reset keyboard
setxkbmap fr

команда xrandr работает, как и ожидалось, при запуске

, если я печатаю в терминале sh rgnome.sh, gnome - это перезапущен, но следующие команды, похоже, не выполняются (и если я закрываю терминал, это убивает gnome); я не разбираюсь в сценариях оболочки, поэтому я могу делать что-то очевидное очень неправильно

1
задан 22 May 2014 в 19:58

3 ответа

Можно создать сценарий оболочки, доступный в пути, возможно, назвать его r.sh.

, Что сценарий должен назвать оболочку гнома - команда замены, и затем команды, которые Вы используете для фиксации конфигурации дисплея.

Вы, возможно, должны были бы ожидать несколько секунд прежде, чем выполнить те команды для ожидания замены для следования.

РЕДАКТИРОВАНИЕ:

сценарий мог бы быть чем-то вроде этого:

#!/bin/bash
gnome-shell --replace
sleep 2
fix-your-display-commands
0
ответ дан 22 May 2014 в 19:58

Ваш сценарий оболочки не работает, потому что эти xrandr команда ожидает gnome-shell --restart для выхода. Так как этого не происходит, в то время как гном работает, эти xrandr, команда не выполняется. Необходимо сказать сценарию выполнять его в фоновом режиме, тот способ, которым будут также выполнены последующие команды:

#!/usr/bin/env bash

## Start gnome-shell in the background. That's what the & does
gnome-shell --replace &
sleep 10
xrandr --output HDMI1 --mode 1920x1080 --pos 0x0 --rotate normal --output VIRTUAL1 --off --output DP1 --off --output eDP1 --off --output VGA1 --off

Теперь, сохраните сценарий где-нибудь в глобальном $PATH, например, как /usr/bin/rgnome.sh, сделайте его исполняемым файлом (sudo chmod 755 /usr/bin/rgnome.sh) и затем вместо того, чтобы выполнить Высокий звук + F2 и r , используйте Высокий звук + F2 и rgnome.sh.

0
ответ дан 22 May 2014 в 19:58

После комментария я решил, что должен завершить ответ:

Вот что-то, что могло бы помочь Вам понять, как использовать .bashrc, и .bash_profile

.bash_profile по сравнению с .bashrc

не волнуются, нет ли у Вас уже этого файла при создании его, оболочка должна использовать его, в то время как Вы зарегистрированы как пользователь, в том, чей домой сохраняется .bash_profile.

упомянутые выше предложения будут только работать, если у Вашего пользователя будет удар как оболочка по умолчанию. Таким образом, Вы могли бы рассмотреть более глубокий уровень, как предложено ниже.

, Если Вам интересно при выполнении сценария для всех Ваших пользователей, необходимо думать о редактировании/etc/profile файла.

я думаю, что Вы могли бы найти некоторые ответы в этом разделе [более чем 111] help.ubuntu.com

0
ответ дан 22 May 2014 в 19:58

Другие вопросы по тегам:

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