В ваших командах есть две ошибки.
Первая ошибка заключается в том, что ваш файл не имеет правильного исполняемого формата. Первая строка сценария оболочки должна начинаться с #!
. Если она не начинается с этих символов, это не сценарий оболочки.
Некоторые оболочки имеют обходные пути для таких неправильно отформатированных сценариев оболочки. Но эти обходные пути работают только тогда, когда сценарий запускается из оболочки, а не когда сценарий запускается из другой программы. Кроме того, разные оболочки имеют разные обходные пути для неправильно отформатированных сценариев оболочки.
Все это означает, что использование этих обходных путей приведет к непредсказуемому поведению, и вы всегда должны включать #!
строку. Например, вы могли бы напечатать:
echo '#!/bin/sh' > hello
echo 'say hello' >> hello
Другая ошибка заключается в том, что вы не указали путь к сценарию при попытке его выполнения. Вы должны были набрать:
./hello
Когда вы набрали только hello
, оболочка будет искать команду в PATH
. По соображениям безопасности
не находится в PATH
. Если вам регулярно приходится создавать сценарии командной оболочки, хорошей идеей будет создать каталог для этих сценариев и поместить этот каталог в PATH
. Лично я использую ~/bin
как для сценариев оболочки, так и для небольших скомпилированных программ.
Похоже, это изначально не поддерживается с помощью конфигурации в KDE/Plasma, однако сообщение на форуме здесь предлагает способ выполнить то, что вы ищете, с помощью инструмента wmctrl
в сценарий автозапуска для программной установки желаемого виртуального рабочего стола.
sudo apt-get install wmctrl
wmctrl -d
, чтобы получить список доступных виртуальных рабочих столов. В сетке 3x3 центральный рабочий стол, вероятно, имеет номер 4 Создайте файл автозапуска в ~/.config/autostart/setvd1.desktop
с таким содержимым:
[Desktop Entry]
Exec=sleep 5; wmctrl -s 4
X-DBUS-StartupType=wait
Name=Set VD #1
Type=Service
X-KDE-StartupNotify=false
OnlyShowIn=KDE;
X-KDE-autostart-phase=1