Как к командам выполнения от удара регистрируют способ, которым они работают от терминала?

Извините за мой, вероятно, очень наивный вопрос.

То, что я имею в виду: как создать исполняемый файл сценария/удара, который выполнил бы более сложные команды, команды, которые должны обычно помещаться в терминал?

А именно, я обращаюсь к следующим командам:

  • Ставший известный об этом отсюда:
DRI_PRIME=1 glxgears -info

Это запустилось бы glxgears и помещенный в работу ATI дискретная карта. Затем я могу контролировать его температуру и т.д. Но когда я выполняю его от терминала, я получаю это:

enter image description here

В то время как, когда я выполняю его со сценарием

#!/bin/bash

DRI_PRIME=1 glxgears -info

только окно механизмов видимо, не другое с текстом.

Я хотел бы смочь использовать файл удара и иметь первый результат и затем петлять от средства запуска.


Рассмотрение этой страницы на aria2 и webgui-aria2, aria2 запускается в том контексте путем выполнения в терминале долгой команды:

touch /path/to/download/folder/session.txt && aria2c --enable-rpc --rpc-listen-all --save-session=/path/to/download/folder/session.txt --input-file=/path/to/download/folder/session.txt -x16 -s16 -k1M --dir=/path/to/download/folder

Как выполнить это со сценарием (что я затем выполнился бы от средства запуска), и имейте тот же результат, ту же информацию?

Сценарий как так (адаптированный к моей папке загрузки)

#!/bin/bash

touch /home/cip/Downloads/aria2/session.txt && aria2c --enable-rpc --rpc-listen-all --save-session=/home/cip/Downloads/aria2/session.txt --input-file=/home/cip/Downloads/aria2/session.txt -x16 -s16 -k1M --dir=/home/cip/Downloads/aria2

ничего не дает, в то время как thhe программы запускаются.

(Я нахожусь в Xubuntu 14.04).

1
задан 13 April 2017 в 15:24

2 ответа

Считайте этот сценарий (сохраненным как /home/muru/test.sh):

#! /bin/bash
DRI_PRIME=1 glxgears -info

А основное средство запуска для этого было бы похоже (скажите, сохраните его как /home/muru/test.desktop):

[Desktop Entry]
Type=Application
Terminal=true
Name=glx-gears-info
Exec=/home/muru/test.sh

Делают их обоих исполняемым файлом:

chmod +x test.sh test.desktop

Теперь у Вас должны быть эти две записи в Вашей домашней папке: enter image description here

Уведомление, как имя glx-gears-info даже при том, что имя файла средства запуска test.desktop. Можно дважды щелкнуть по нему для запуска сценария: enter image description here

<час>

Для сценария как (говорят, расположенный в /home/muru/start-aria.sh):

#!/bin/bash
touch /home/cip/Downloads/aria2/session.txt && \
    aria2c --enable-rpc --rpc-listen-all \
       --save-session=/home/cip/Downloads/aria2/session.txt \
       --input-file=/home/cip/Downloads/aria2/session.txt -x16 -s16 -k1M \
       --dir=/home/cip/Downloads/aria2

(я разделил команду на несколько строк для удобочитаемости) файл средства запуска будет похож (скажите /home/muru/start-aria.desktop):

[Desktop Entry]
Type=Application
Terminal=false
Name=Start Aria2
Exec=/home/muru/start-aria.sh

можно установить Terminal=false здесь, поскольку для этой команды, вероятно, не нужен терминал.

<час>

Для получения окна терминала при использовании средств запуска Xfce отсчитайте 'Выполненный в Терминале'.

enter image description here

А вторая команда, которая была бы близкий aria2, может быть добавлена в том же средстве запуска Xfce: pkill aria2c

Также:

  • путем добавления их в единственное средство запуска,

  • расширенные свойства установки как в изображении ниже

enter image description here

(а именно, 'шоу в последний раз используемый объект' и 'в кнопке'),

  • и добавления двух определенных значков,

средство запуска будет всегда отображать текущий статус aria2: выполнение или закрытый .

enter image description here

2
ответ дан 7 December 2019 в 12:49

Быстрый ответ, попробуйте это:

#!/bin/bash
DRI_PRIME=1
xfce4-terminal --window -H -x glxgears -info

не знают, необходимы ли все переключатели, но это работало.

1
ответ дан 7 December 2019 в 12:49

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

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