LINUX.ORG.RU

оформление KDE-Desktop


0

0

Как сделать, чтобы оформление KDE-Desktop, выполненное ROOT'ом, оставалось таким же и для непривилегированного пользователя (цвета, шрифты, рабочий стол, обои и т.п.)?


( cd ~root && tar cf - .kde ) | ( cd ~user && tar xf - )
chown -r user.usergroup ~user/.kde
find ~user/.kde -type f | while read x; do
grep -q ~root "$f" && ( sed s,~root,~user,g < "$f" > /tmp/x; mv /tmp/x "$f" )
done

Выполнять от рута.
Если в дистрибутиве в качестве $KDEHOME используется не ~/.kde, а что-то другое, соответственно надо заменить.

yoush
()

В некоторых дмстрибутивах есть такая директория /etc/skel при создании пользователя она копируется в домашнюю директорию пользователя. Соответственно копируеш .kde из дом каталога ROOT-а в /etc/skel.

Alximik
()

Нет, копирование в skel корректно работать не будет.
В KDE-шной конфигурации прописывается куча абсолютных путей, их все равно надо менять.

yoush
()
Ответ на: комментарий от yoush

Пожалуйста, прокомментируй этот набор команд, потрать на меня еще 10 минут! Следует ли вместо "user" вставлять имя конкретного пользователя, у меня bash ругается - нет, мол, такой группы пользователей, нет таких директорий.

cadshef
() автор топика

> Пожалуйста, прокомментируй этот набор команд

Легко.

> ( cd ~root && tar cf - .kde ) | ( cd ~user && tar xf - )

Конфигурация KDE2 хранится в подкаталоге домашнего каталога пользователя. Имя подкаталога задается переменной среды $KDEHOME, по умолчанию - .kde
Указанная команда переносит каталог .kde из домашнего каталога рута в домашний каталог пользователя user.
Естексвенно надо заменить "user" на истинное имя пользователя и ".kde" - на истинное имя каталога с конфигурацией KDE2.

> chown -r user.usergroup ~user/.kde

После переноса конфигурации указанной командой владельцем конфигурации, переписанной в каталог пользователя, будет root. Это неправильно, т.к. KDE2, работающее от имени пользователя, должно иметь возможность читать и модифицировать конфигурацию.
Эта команда меняет владельца и группу всех файлов в указанном каталоге. Естественно, вместо "user" надо написать истинное имя пользователя, вместо "usergroup" - истинную группу пользователя, вместо ".kde" - истинное название каталога конфигурации.

> find ~user/.kde -type f | while read x; do
> grep -q ~root "$f" && ( sed s,~root,~user,g < "$f" > /tmp/x; mv /tmp/x "$f" )
> done

Во многих файлах конфигурации прописываются абсолютные пути до различных объектов (например, до других файлов конфигурации). После переписывания эти пути по-прежнему указывают в каталог конфигурации рута. Это надо исправить - нацти все файлы, в которых содержится ссылка на домашний каталог рута, и сменить ее на ссылку на домашний каталог пользователя.
Вместо "user" надо написать истинное имя пользователя, вместо ".kde" - истинное название каталога конфигурации.
Кавычки вокруг $f существенны, т.к. имена некоторых файлов в каталоге конфигурации KDE2 могут содержать пробелы.

yoush
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.