Автор Тема: Предустановка шаблонов XDG_TEMPLATES_DIR  (Прочитано 1699 раз)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Считаю актуальной проблему отсутствия возможности предустановить всем пользователям шаблоны в XDG_TEMPLATES_DIR. Особенно это актуально для nautilus'a в третьем гноме, так как пункт меню в случае пустого каталога XDG_TEMPLATES_DIR вообще не отображается, и пользователь вообще не понимает, в чём проблема. Но и для других DE не хватает предустановленных шаблонов, одним "пустой файл" сыт не будешь.

Для того, чтобы решить эту проблему написал вот такой маленький скрипт:

#!/bin/sh
XDG_TEMPLATES_DIR=$(grep XDG_TEMPLATES_DIR $HOME/.config/user-dirs.dirs | cut -d \" -f2)
rm -f $XDG_TEMPLATES_DIR/*~
if [ `ls $XDG_TEMPLATES_DIR | wc -l` -eq 0 ]
then
    cp /usr/share/Templates/*  $XDG_TEMPLATES_DIR
fi

Предлагается создать каталог в /usr/share/Templates/ с шаблонами, которые будут автоматически устанавливаться при запуске сеанса пользователя, если директория, определённая в параметре XDG_TEMPLATES_DIR в конфигурационном файле .config/user-dirs.dirs, будет пуста.

Запускать думаю при помощи .desktop файла, помещённого в /etc/xdg/autostart такого содержания:
[Desktop Entry]
Type=Application
Name=Update XDG_TEMPLATES_DIR
Exec=/usr/bin/update_templates
NoDisplay=true

В gmome3 работает. Надо проверить в остальных DE.
Также прошу высказать пожелания о базовых шаблонах.
Прилагаю собранный пакет.
« Последнее редактирование: 04.09.2015 07:48:08 от Антон Мидюков »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #1 : 04.09.2015 07:59:22 »
Надо проверить в остальных DE.
Как и что проверить - дай шаблон (алгоритм), если время будет, проверю в виртуалках.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #2 : 04.09.2015 08:08:56 »
Надо проверить в остальных DE.
Как и что проверить - дай шаблон (алгоритм), если время будет, проверю в виртуалках.

Устанавливаете пакет. Очищаете каталог с шаблонами пользователя. Перезапускаете сеанс. В контекстном меню файлового менеджера в пункте "Создать новый файл" должны появиться новые шаблоны.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #3 : 04.09.2015 10:57:12 »
1. Для установке переменной среды окружения и создания каталогов правильнее создавать /etc/profile.d/templates.sh по аналогии с /etc/profile.d/tmpdir.sh.
2. ~/.config/user-dirs.dirs является Shell-скриптом. Поэтому его использовать очень просто:
if [ -e "$HOME/.config/user-dirs.dirs" ]; then
. $HOME/.config/user-dirs.dirs
fi
после этого $XDG_TEMPLATES_DIR заполнена.
3. Создавайте каталог через mkdir -p, чтобы создался весь путь рекурсивно.
4. Скрипт лучше упаковать в пакет вместе с шаблонами.
Андрей Черепанов (cas@)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #4 : 04.09.2015 12:19:07 »
Ещё один вопрос. Какой URL в спеке указывать. На github заливать или git.alt подойдёт в качестве адреса?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #5 : 04.09.2015 13:09:11 »
Пакет локально в gear собрал, прилагаю. Актуален вопрос какие шаблоны поместить. Сейчас это "new file" - пустой файл (актуально для nautilus), офисные форматы odt, ods, odg, odp и "new shell script". Какие ещё шаблоны добавить?
« Последнее редактирование: 18.09.2015 21:06:03 от Антон Мидюков »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #6 : 04.09.2015 20:33:30 »
Шелл-то зачем?
Лучше сразу test-only task.
Андрей Черепанов (cas@)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #7 : 05.09.2015 05:40:15 »
Шелл-то зачем?

Имеете ввиду шелл-скрипт в шаблонах? Имхо, очень часто в жизни пользователя требуется создать шелл-скрипт для автоматизации каких-то своих действий. Но раз считаете, что не нужен он там, удаляю.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #8 : 05.09.2015 08:01:22 »
Лучше сразу test-only task.

Для желающих потестить:

apt-repo add 148895
apt-get update
apt-get install templates

Upd: Исправил баг с неработающим root (тупанул с условием). Вроде работает теперь как надо. Если возражений не поступит, то сегодня вечером в сизиф и t7 отправляю, так как завтра на работу.
« Последнее редактирование: 05.09.2015 11:41:51 от Антон Мидюков »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #9 : 05.09.2015 10:22:02 »
1. Для установке переменной среды окружения и создания каталогов правильнее создавать /etc/profile.d/templates.sh по аналогии с /etc/profile.d/tmpdir.sh.

Андрей, в Gnome3 при запуске сеанса скрипты из /etc/profile.d/ не выполняются. А это значит что пользователи Gnome3 лишаются защиты от дурака в виде tmpdir.sh и не только? (Нужно выяснить какие DE ещё не поддерживают запуск скриптов из /etc/profile.d/). Вернее придётся осуществлять консольный вход, чтоб сработало обновление. В виду новых обстоятельств наверное нужно багу на setup вешать?

А в своём пакете я наверное сделаю следующим образом. Я добавлю в autostart desktop файл, запускающий template.sh но только, если сеанс Gnome3
« Последнее редактирование: 05.09.2015 10:48:59 от Антон Мидюков »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #10 : 05.09.2015 18:41:29 »
Пакет templates ушёл в Сизиф.
« Последнее редактирование: 06.09.2015 19:02:57 от Антон Мидюков »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #11 : 18.09.2015 20:52:06 »
Исправил баг с неработающим root (тупанул с условием)
Этот установил http://forum.altlinux.org/index.php?topic=35288.msg263551#msg263551 на TDE3.
Теперь под root не могу войти, сразу выбрасывает, какой скрипт поправить ?
Сноси Винду, переходи на Линукс ! :)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #12 : 18.09.2015 21:05:41 »
Теперь под root не могу войти, сразу выбрасывает, какой скрипт поправить ?

/etc/profile.d/templates.sh

Блин, надо было удалить тот пакет, простите. В p7 работающая версия.
« Последнее редактирование: 18.09.2015 21:07:40 от Антон Мидюков »

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #13 : 18.09.2015 21:11:33 »
Блин, надо было удалить тот пакет, простите. В p7 работающая версия.
Да ничего, нашёл уже :) Загрузился с LiveCD и удалил пакет.

Только почему-то нет ничего в контекстном меню...
Сноси Винду, переходи на Линукс ! :)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Предустановка шаблонов XDG_TEMPLATES_DIR
« Ответ #14 : 18.09.2015 21:18:54 »
Только почему-то нет ничего в контекстном меню...

Удалите каталог Шаблоны и перезапустите сеанс. Разумеется пакет должен быть установлен.