Обязательно ли для этого использовать systemd? Я бы не рекомендовал создавать свои собственные службы systemd с пользовательскими сценариями оболочки, поскольку их сложно поддерживать, и они могут быстро запутаться.
Более распространенным способом установки статического IP-адреса и MAC-адреса на интерфейсе является установка их в /etc/network/interfaces
конфигурационном файле (при условии, что система Linux основана на Debian ).
Например, добавив это в конфиг:
auto eth1
iface eth1 inet manual
address 192.168.160.218
netmask 255.255.255.0
hwaddress ether 00:11:22:33:44:55
Существует также способ настройки сетевых интерфейсов с помощью демона systemd -networkd , который является частью systemd. Вам придется отредактировать соответствующий файл .network
для интерфейса, который вы хотите настроить. Затем systemd -networkd должен настроить этот интерфейс для вас во время загрузки.
Если st
отсутствует в списке sudo update-alternatives --config x-terminal-emulator
, вы можете использовать
gsettings set org.cinnamon.desktop.default-applications.terminal exec <path_to_st>
где <path_to_st>
можно найти с помощьюwhich stterm
1 . В моей системе вы можете найти его по адресу /usr/bin/stterm
. Далее я предполагаю, что у вас такое же местоположение.
После использования вышеуказанной команды привязка клавиш для терминала(Ctrl + Alt + t по умолчанию )выведет st
. Но при вызове Vim из файлового менеджера или чего-либо еще с использованием рабочего стола все равно будет использоваться старый терминал. Для примера предположим, что gnome-terminal
находится по адресу /usr/bin/gnome-terminal
.
Вы можете попытаться решить эту проблему, отредактировав запись Vim на рабочем столе:
cp /usr/share/applications/vim.desktop ~/.local/share/applications/
vim ~/.local/share/applications/vim.desktop
vim.desktop
-----------
#TryExec=vim
#Exec=vim %F
#Terminal=True
Exec=stterm -e "vim %F"
Terminal=False
В моей системе это работает, но st
закрывается мгновенно. Я попытался заменить stterm
другим эмулятором терминала, и он работает, поэтому я считаю, что st
имеет проблемы с записями на рабочем столе.
Поскольку некоторые программы все еще используют старый gnome-terminal
, лучший способ обойти эту проблему — создать символическую ссылку наstterm
:
mkdir ~/.local/bin
ln -s /usr/bin/ssterm ~/.local/bin/gnome-terminal
Это решает все проблемы, но не является элегантным решением. Не забудьте rm ~/.local/share/applications/vim.desktop
, если вы попробуете это решение после предыдущего.
1 в системах на базе Debian и Ubuntu st
упакован как stterm
.
Мое решение состояло в том, чтобы изменить переменную XTERM с /etc/alternatives/x-terminal-emulator
на st
Мой x-terminal-emulator
указывает на lxterm
Если st
отсутствует в качестве параметра при запуске sudo update-alternatives --config x-terminal-emulator
, вы можете добавить его в update-alternatives
с помощью следующей команды:sudo update-alternatives --install <link> <name> <path> <priority>
.
В моем случае это выглядит так:sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/local/bin/st 100
.
После того, как вы выполнили команду, вы сможете увидеть и выбрать st
, если вы сейчас запустите sudo update-alternatives --config x-terminal-emulator
.