ubuntu 14.04 + gnome 3.10 + gnome-shell restart

1

Existe uma maneira de pedir ao gnome-shell para executar um script de shell toda vez que ele inicia?

(Como depois de um Alt + F2 então r , não no Login)

NB: Se você acha que é sobre a lista de start-ups, não é: faça um Alt + F2 e então r e me diga se os aplicativos na lista de inicialização são lançados: eles não são (pelo menos não na minha configuração).

Infelizmente, por meio de um script de shell, ainda não está funcionando:

#!/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

o comando xrandr está funcionando como esperado na inicialização

se eu digitar no terminal sh rgnome.sh, o gnome é reiniciado, mas os próximos comandos não parecem ser executados (e se eu fechar o terminal ele mata o gnome); Eu não sou versado em scripts de shell, então eu posso estar fazendo algo óbvio muito errado

    
por mikakun 16.05.2014 / 16:21

3 respostas

2

Você pode criar um script de shell disponível em seu caminho, talvez chamá-lo r.sh.

Esse script deve chamar o comando gnome-shell --replace e, em seguida, os comandos usados para corrigir sua configuração de exibição.

Pode ser necessário aguardar alguns segundos antes de executar esses comandos para aguardar a substituição ser bem-sucedida.

EDITAR:

O script pode ser algo como:

#!/bin/bash
gnome-shell --replace
sleep 2
fix-your-display-commands
    
por adosaiguas 20.05.2014 / 19:16
1

Seu script de shell não funciona porque o comando xrandr está aguardando a saída do gnome-shell --restart . Como isso não acontece enquanto o gnome está em execução, o comando xrandr não é executado. Você precisa dizer ao seu script para executá-lo em segundo plano, assim os comandos subsequentes também serão executados:

#!/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

Agora, salve o script em algum lugar no global $PATH , por exemplo, como /usr/bin/rgnome.sh , torne-o executável ( sudo chmod 755 /usr/bin/rgnome.sh ) e, em seguida, execute Alt + F2 e r , use Alt + F2 e rgnome.sh .

    
por terdon 22.05.2014 / 16:48
0

Depois de comentar, decidi que deveria responder:

Aqui está algo que pode ajudá-lo a entender como usar .bashrc e .bash_profile

.bash_profile vs .bashrc

Não se preocupe se você não tiver este arquivo, se você criá-lo, o shell deve usá-lo enquanto estiver logado como o usuário em cuja casa o .bash_profile está salvo.

As sugestões listadas acima só funcionarão se seu usuário tiver o bash como shell padrão. Então você pode considerar um nível mais profundo, como sugerido abaixo.

Se você estiver interessado em ter o script executado para todos os seus usuários, você deve pensar em editar o arquivo / etc / profile.

Acho que você pode encontrar algumas respostas nesta seção em help.ubuntu.com

    
por Decebal 20.05.2014 / 12:35