В случае Ubuntu 16.10 я установил версию 4.5 для Ubuntu 14.04 и ярлык работает. Я полагаю, что другие версии для Qt4 тоже будут работать.
Это хороший пример того, как можно использовать шаблоны элементов systemd. Возможно, чтобы служба systemd вызывалась с аргументом и использовала этот аргумент в определении службы для e. г. передайте его программе, которая запущена. Вот пример вашего случая:
Установите ваш аппарат как
/etc/systemd/system/gmod@.service
Измените файл так, чтобы он выглядел следующим образом:
[Unit]
Description=Gmod server (map: %I)
After=network.target
[Service]
Type=simple
ExecStart=/bin/bash /home/server/Documents/Servers/Gmod/run_gmod.sh %i
[Install]
WantedBy=multi-user.target
DefaultInstance=myDefaultMap
(Возможно, необходимо запустить systemctl daemon-reload в этот момент, чтобы система читала измененный файл). После этого вы сможете запустить gmod с таким аргументом:
systemctl start gmod@myMapName.service
Systemd будет использовать файл шаблона и заменить I% на аргумент и %i с аргументом, указанным в shell, затем запустите его как экземпляр службы с именем gmod@myMapName.service. Вы можете проверить это, запустив
systemctl status gmod@myMapName
. Вы также можете автоматически запускать экземпляр по умолчанию во время загрузки следующим образом:
systemctl enable gmod@
Таким образом, вы даже можете запустить несколько экземпляров gmod, если программа позволяет это. Для дальнейшего чтения по теме проверьте страницу руководства systemd.unit (5).
Это хороший пример того, как можно использовать шаблоны элементов systemd. Возможно, чтобы служба systemd вызывалась с аргументом и использовала этот аргумент в определении службы для e. г. передайте его программе, которая запущена. Вот пример вашего случая:
Установите ваш аппарат как
/etc/systemd/system/gmod@.service
Измените файл так, чтобы он выглядел следующим образом:
[Unit]
Description=Gmod server (map: %I)
After=network.target
[Service]
Type=simple
ExecStart=/bin/bash /home/server/Documents/Servers/Gmod/run_gmod.sh %i
[Install]
WantedBy=multi-user.target
DefaultInstance=myDefaultMap
(Возможно, необходимо запустить systemctl daemon-reload в этот момент, чтобы система читала измененный файл). После этого вы сможете запустить gmod с таким аргументом:
systemctl start gmod@myMapName.service
Systemd будет использовать файл шаблона и заменить I% на аргумент и %i с аргументом, указанным в shell, затем запустите его как экземпляр службы с именем gmod@myMapName.service. Вы можете проверить это, запустив
systemctl status gmod@myMapName
. Вы также можете автоматически запускать экземпляр по умолчанию во время загрузки следующим образом:
systemctl enable gmod@
Таким образом, вы даже можете запустить несколько экземпляров gmod, если программа позволяет это. Для дальнейшего чтения по теме проверьте страницу руководства systemd.unit (5).