Вопрос или проблема
Я использую Ubuntu 22.04 с XFCE.
Я хочу запустить скрипт, который делает:
ln -fs /path/to/folder ~/
Каждый раз, когда пользователь входит в систему через графический удаленный доступ (в частности, я использую Remmina).
Я пробовал /etc/profile.d
, /etc/bash.bashrc
, /etc/X11/Xsession.d
, /etc/gdm3/PostLogin/Default.sample
… ничего не работает. Может быть, мне нужно перезапустить какой-то сервис?
Я нашел это, но это специфично для пользователя. То же самое касается этого. Несколько других обсуждений на форумах не привели ни к чему.
Заранее спасибо за любую помощь этой безнадежной душе.
Ответ или решение
Для выполнения сценария при входе пользователя в графическую сессию на Ubuntu 22.04 с XFCE, вы можете воспользоваться механизмом автозагрузки XFCE. Это позволит вам выполнять команды для всех пользователей, входящих в систему через удаленный доступ, такой как Remmina. Вот пошаговая инструкция для настройки этого процесса.
Шаг 1: Создание скрипта
Сначала создайте скрипт в удобном вам месте. Например, вы можете сохранить его в /usr/local/bin
с именем link_script.sh
.
sudo nano /usr/local/bin/link_script.sh
Добавьте в скрипт следующий код:
#!/bin/bash
ln -fs /path/to/folder ~/
Замените /path/to/folder
на полный путь к папке, которую вы хотите ссылаться. Сохраните файл и закройте редактор.
Шаг 2: Сделать скрипт исполняемым
Чтобы скрипт мог выполняться, вам нужно изменить его права доступа:
sudo chmod +x /usr/local/bin/link_script.sh
Шаг 3: Настройка XFCE для выполнения скрипта при входе
Теперь вам нужно настроить XFCE для выполнения вашего скрипта при входе пользователя. Для этого выполните следующие действия:
- Создайте каталог для настроек автозагрузки, если его еще нет:
sudo mkdir -p /etc/xdg/autostart
- Создайте файл автозагрузки в этом каталоге:
sudo nano /etc/xdg/autostart/link_script.desktop
- Вставьте в этот файл следующий текст:
[Desktop Entry]
Type=Application
Exec=/usr/local/bin/link_script.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Link Script
Шаг 4: Перезагрузка и тестирование
После выполнения всех шагов перезагрузите сервер или систему:
sudo reboot
После перезагрузки каждый пользователь, который войдет в систему через графический интерфейс (в том числе через Remmina), будет запускать ваш скрипт, что создаст символическую ссылку в домашнем каталоге.
Примечание
- Убедитесь, что у всех пользователей есть права доступа к
/path/to/folder
, иначе командаln
может не выполниться из-за недостатка прав. - Если вы хотите, чтобы скрипт выполнялся только для определенных пользователей, вам придется настроить этот процесс на уровне пользователя, добавляя команду в
~/.bashrc
или~/.profile
каждого пользователя.
Надеюсь, эта инструкция поможет вам настроить автоматическое выполнение вашего скрипта при входе пользователей в систему. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!