Como abrir o terminal ao executar o shell script?

0

No meu sistema operacional, não há como definir manualmente o brilho, então escrevi um pequeno script de shell para fazer isso:

#!/bin/sh
echo -n "Set Brightness To (from 0 to 100):"
read answer
echo $((answer * 8 + 50))>/sys/class/backlight/intel_backlight/brightness

Mas o problema é que executar o script diretamente da GUI o executa sem solicitar a entrada do usuário no terminal (answer = 0), e clicar com o botão direito para executar no terminal é necessário para o script solicitar a entrada do usuário. / p>

Como alguém pode exibir o terminal diretamente ao executar o script?

    
por puppybash 05.08.2018 / 00:38

2 respostas

1

Solicitando entrada

Método 1

Usando xterm , você pode simplesmente executar seu aplicativo como um argumento para qualquer emulador de terminal que estiver usando. Aqui estou usando xterm :

$ xterm "./bright.bash"

O que resultará na execução do seu aplicativo dentro de um terminal xterm :

Omesmométodocomgnome-terminal.

$gnome-terminal-e./bright.bash

Método#2-zenity

VocêpodeusarokitdeferramentasdaGUIzenityparaabrirumacaixadediálogosolicitandoqueumarespostasejadigitada,depoispegueoquefoidigitadoeuseorestantedoscriptparadefini-lo.

Exemplo

$catbrightness.bash#!/bin/bashanswer="$(zenity --entry --title='Brightness setting' \
    --text='Set Brightness To (from 0 to 100):')"
echo $((answer * 8 + 50))>/sys/class/backlight/intel_backlight/brightness

Se o executarmos, mas apenas reproduzirmos a última linha em vez de executá-la, poderemos ver o que ela fará:

$ ./brightness.bash
echo 450 > /sys/class/backlight/intel_backlight/brightness

A interface do usuário é assim:

    
por 05.08.2018 / 00:52
0

Outra maneira de fazer isso é invocar o programa do terminal e dizer a ele para executar o comando. A maioria dos terminais tem a opção de fazer isso; para o xterm (que é bem old-school), você pode fazer

xterm -e PROGRAMNAME (substituindo o nome do programa pelo comando)

    
por 05.08.2018 / 02:10