Рейтинг:2

Как создать скрипт-оболочку для версии Octave Flatpak, чтобы избежать длинной команды flatpak run org.octave.Octave?

флаг us

в подходящий версия октавы, я могу использовать команду октавный сценарий.м выполнить файл скрипт.м. Сходным образом flatpak запустить org.octave.Octave script.m тоже работает.

Однако, чтобы избежать длинной команды flatpak запустить org.octave.Octave, я создал файл ~.local/бин/октава с содержимым flatpak запустить org.octave.Octave, и пометил его как исполняемый (я уже удалил подходящий вариант Октавы). Пока работает октава нормально, октавный сценарий.м больше не работает, он только открывает версию Octave для командной строки.

Я знаю, что могу открыть Octave и запустить скрипт изнутри, но мне интересно узнать, можно ли запустить скрипт напрямую из терминала с версией Octave в плоском пакете.

Рейтинг:5
флаг cn

По-видимому, хитрость заключается в том, чтобы сбросить переменную окружения SESSION_MANAGER [источник].

Чтобы не мешать вашей обычной среде, предпочитайте сбрасывать среду только для текущей команды, используя окружение:

env -u SESSION_MANAGER flatpak запустить org.octave.Octave script.m

Конечно, вы можете значительно упростить себе жизнь, определив, например, псевдоним:

alias octave='env -u SESSION_MANAGER flatpak run org.octave.Octave'

Отныне вы можете запускать октавный скрипт по-старому:

октавный сценарий.м

Включите определение псевдонима в свой ~/.bashrc файл конфигурации, чтобы он всегда был доступен в интерактивном терминале.

vanadium avatar
флаг cn
@terdon спасибо за исправление ошибки в команде определения псевдонима!
Рейтинг:2
флаг zw

я только что установил Октава 6.4.0 от Flatpak в моей системе Ubuntu 20.04.3 LTS, затем перезагружаюсь, и я могу выполнить свою скрипт.м файл с терминала как из MATE, так и из GNOME так же просто, как:

flatpak запустить org.octave.Octave script.m

Или создайте скрипт-оболочку с помощью

кот <<'EOF' | тройник ~/.local/bin/octave
#!/бин/баш
flatpak запустить org.octave.Octave "$@"
EOF

chmod +x ~/.local/bin/octave

и вызовите Octave из Flatpak, выполнив октавный сценарий.м. Убедись в том, что ~/.локальные/бен определяется в вашем $ПУТЬ переменная.

Примечание: убедитесь, что у вас нет как deb-, так и Flatpak-версии Octave. Удалить первое по sudo apt-get autopurge октава если вы предпочитаете Flatpak.


Если Flatpak не работает в вашей системе, вы можете установить Octave 6.4.0 из немного ППА выполнив следующие команды:

sudo add-apt-repository ppa:devacom/science
sudo apt-получить обновление
sudo apt-get установить октаву
vanadium avatar
флаг cn
Возможно, перезагрузка была всем, что было нужно.Я также установил его специально для этого вопроса, заставил его работать в каталоге /home, но не после копирования сценария в другой каталог (и перехода в него). Тем не менее, вы можете увидеть ошибку «Qt: Ошибка управления сеансом: ни один из указанных протоколов аутентификации не поддерживается».

Ответить или комментировать

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