Не отрабатывает команда в "Session and Startup"

Системные сервисы и системы инициализации: systemd, sysvinit и другие


yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

Приветствую. На xfce в "Settings" -- "Session and Startup" прописал действие
rm -rf /home/yurius/.local/share/Trash/files/*
с триггером "On Login" - чтобы файлы из корзины удалялись при каждой загрузке в систему. Но оно не работает, не удаляет файлы. В то же время, запущенная в терминале вручную - работает. Что не так? У меня вход в систему без пароля - прописал это в lxdm.conf.
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

По феншею нужно лучше написать unit ... он будет довольно простым.
Можно еще использовать MC - в нем вообще нет корзины ...
Но если уж так хочется иметь корзину, то можешь поставить из AUR autotrash и настроить ее в части удаления под свои хотелки.

Ошибки не исчезают с опытом - они просто умнеют

yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

vasek:autotrash
Я читал про autotrash, это на крайний случай, не хочу лишнее устанавливать - сейчас мне интересно, почему не работает моя команда в автозапуске. Куча других работает - например, redshift с довольно длинной записью - а элементарная rm не пашет. Что не так с ней?
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

XFCE не имею, использую tiling WM, а при загрузке использую .xinitrc .... прописал твою команду в .xinitrc ... reboot ... все сработало, проблем нет.

Ошибки не исчезают с опытом - они просто умнеют

yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

vasek:прописал твою команду в .xinitrc
Можешь вставить сюда содержание своего xinitrc вместе с моей командой? А то я не пойму, какие там ещё должны быть прибамбасы, кроме самой команды. Никогда им не пользовался.
vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Так как использую tiling WM, то .xinitrc самые простые ... а так как вместо разных DM (gdm, lightdm и др.) использую свой скрипт, для каждого WM использую отдельный .xinitrc , например, для spectwm он такой (закоментированное/неиспользуемое убрал)
#!/bin/sh
if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/?*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi
# 
setxkbmap -layout 'us,ru' -option 'grp:caps_toggle,grp_led:caps'
xset b off
exec spectrwm
PS - ни логин ни пароль не ввожу ... загрузка в tty автоматом ... там выбираю что грузить и в X-ы .... но не знающий в X-ы не загрузится.

Ошибки не исчезают с опытом - они просто умнеют

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Повторюсь, напиши простенький unit/service ... в инете даже найдешь пример ...

Ошибки не исчезают с опытом - они просто умнеют

yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

vasek:exec spectrwm
Так в каком виде должна быть моя команда?? Я просто скопировал xinitrc из /etc/X11/xinit/ , и в конец добавлял по-разному:
exec rm -rf /home/yurius/.local/share/Trash/files/* &
или просто
rm -rf /home/yurius/.local/share/Trash/files/*
- ни черта не работает оно. Как правильно её прописать?
indeviral
Аватара пользователя
Сообщения: 176
Зарегистрирован: 15.08.2022

#

/usr/bin/rm -rf /home/yurius/.local/share/Trash/files/*
Попробуйте так.
Потому что xinit вообще-то startx дёргает. И если вы другим способом запускаете он не будет отрабатывать.

Ошибки в тексте-неповторимый стиль автора©

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

yurius:ни черта не работает оно
Нужно смотреть, что у тебя установлено, что и как прописано .... без этого судить бесполезно.
Начни с Wiki ... описывать все очень долго, на старом форуме все это описано не раз, поищи.
В части написания сервиса для автозапуска - ... привел пример ниже, на следующей странице ...
Последний раз редактировалось vasek 05.11.2022 14:38, всего редактировалось 2 раза.

Ошибки не исчезают с опытом - они просто умнеют

yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

indeviral:/usr/bin/rm
Пробовал и так, и просто rm, и с ехес, и без ехес - , все варианты перебрал, ни в какую.
indeviral
Аватара пользователя
Сообщения: 176
Зарегистрирован: 15.08.2022

#

/usr/bin/sh -c "/usr/bin/sleep 5 && /usr/bin/rm -rf /home/yurius/.local/share/Trash/files"

Ошибки в тексте-неповторимый стиль автора©

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

yurius:Пробовал и так, и просто rm, и с ехес, и без ехес - , все варианты перебрал, ни в какую.
Я прописывал так
 ...
rm -rf /home/vasek/.local/share/Trash/files/*
setxkbmap -layout 'us,ru' -option 'grp:caps_toggle,grp_led:caps'
xset b off
...
А вообще у тебя запускается XFCE с .xinitrc ???

Ошибки не исчезают с опытом - они просто умнеют

vasek
Сообщения: 358
Зарегистрирован: 31.08.2022

#

Привожу результат эксперимента ...

Создал файл ~/test.txt
cat ~/test.txt
test

Удалил файл ~/test.txt через pcmanfm, убеждаемся
ls ~/test.txt
ls: невозможно получить доступ к '/home/vasek/test.txt': Нет такого файла или каталога

Смотрим в корзине
ls /home/vasek/.local/share/Trash/files
test.txt

Прописал в .xinitrc строчку (rm -rf /home/vasek/.local/share/Trash/files/*)
grep rm .xinitrc_spectrwm
rm -rf /home/vasek/.local/share/Trash/files/*

reboot … и проверяем содержимое корзины
ls /home/vasek/.local/share/Trash/files
… пусто ...

Ошибки не исчезают с опытом - они просто умнеют

yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

indeviral: /usr/bin/sh -c "/usr/bin/sleep 5 && /usr/bin/rm -rf /home/yurius/.local/share/Trash/files"
Не-а, не работает.
vasek:А вообще у тебя запускается XFCE с .xinitrc ???
А как это проверить? Вот его содержимое:
#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then

    xrdb -merge $sysresources

fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then

    xrdb -merge "$userresources"

fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some nice programs

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
pols
Сообщения: 7
Зарегистрирован: 17.08.2022

#

yurius:/home/yurius/.local/share/Trash/
В xfce по такому пути нет корзины.
yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

pols:В xfce по такому пути нет корзины.
То есть как нет, если я по этому пути хожу вручную и проверяю файлы, которые там лежат, и которые я никак не могу удалить скриптом .xinitrc?
yurius
Аватара пользователя
Сообщения: 41
Зарегистрирован: 15.08.2022

#

Cоздал юнит systemd под названием clear_trash.service такого содержания:
[Service]
ExecStart=/usr/bin/rm -rf /home/yurius/.local/share/Trash/files/*
WorkingDirectory=
User=
Group=

[Unit]
After=network.target

[Install]
WantedBy=multi-user.target
и положил его в /etc/systemd/system. Далее
sudo systemctl enable clear_trash.service    (симлинк успешно создался)
sudo systemctl start clear_trash.service 
, перезагрузился - ни хрена не пашет, файлы на месте. Да что ж такое-то?
pols
Сообщения: 7
Зарегистрирован: 17.08.2022

#

yurius:То есть как нет,
Извените у меня thunar настроен без корзины соответственно нет пути.
AndAnd
Сообщения: 1
Зарегистрирован: 05.11.2022

#

yurius: На xfce в "Settings" -- "Session and Startup" прописал действие
rm -rf /home/yurius/.local/share/Trash/files/*
с триггером "On Login"
Сунь команду в скрипт и будет работать.
Ответить