A interface do programa é feia quando iniciada por script

0

Estou começando o Qt-Linguist em um script bash via

sudo linguist-qt4 $PathToParentDir/translate_$lang.ts

Eu também poderia usar gksu em vez de sudo , mas isso adicionaria mais dependências, já que a maioria das pessoas não tem o gksu instalado. Na figura da esquerda, você vê o quão feio parece, ele deve ficar do lado direito quando iniciado normalmente. Como posso iniciar um programa em um script bash para que ele fique na imagem certa?

    
por user2366975 27.09.2013 / 12:29

1 resposta

0

A interface do programa parece feia porque você inicia o programa com sudo , mas sudo é usado para executar um comando no modo de texto.

Então, você precisa de um comando para iniciar o programa no modo gráfico como root. Isso pode ser gksudo . Veja Qual é a diferença entre "gksudo nautilus" e " sudo nautilus "? . Mas ( gksu ) não está mais instalado por padrão, começando com o Ubuntu 13.04 . Sua alternativa é pkexec . Então, você pode usar o seguinte if :

if [ -x /usr/bin/gksu]; then     #if 'gksu' exists and is executable
    gksu linguist-qt4 $PathToParentDir/translate_$lang.ts
else
    pkexec linguist-qt4 $PathToParentDir/translate_$lang.ts
fi

Ou você pode tentar simples:

sudo -i linguist-qt4 $PathToParentDir/translate_$lang.ts

Então, sudo -i command . Mas eu não tenho certeza - verifique você mesmo.

    
por Radu Rădeanu 27.09.2013 / 13:32