PDA

View Full Version : KDE desktop moeder map



Ginkevin
26-Mar-2013, 09:36
Hallo allen,

Systeem info: KDE4 , openSUSE 12.2

ik ben opzoek naar de moeder map (om het zo maar even te noemen door gebrek aan betere benaming) van de KDE4 desktop omgeving.
bij het aanmaken van een nieuwe gebruiker word een eigen Desktop map aangemaakt waarin standaard .desktop files staan. deze zijn vervolgens zichtbaar op het bureablad. Mijn vraag is dus waar haalt KDE(is het uberhaubt KDE dat dit doet?) deze informatie vandaan (deze 5 .desktop files). Volgens mij word bij het aanmaken van een gebruiker ergens deze map vanaf gekopieerd. Ik wil namelijk de weergegeven iconen op het bureaublad, systeem wijd veranderen.

hcvv
26-Mar-2013, 11:15
Volgens mij gebeurt dat niet bij het aanmaken van de gebruiker. Bij het aanmaken van de gebruiker (met YaST en waarschijnlijk ook met useradd) worden in de nieuwe home directory files aangemaakt naar het voorbeeld in /etc/skel.

Maar daar is uiteraard niets van KDE bij. Tenslotte weet niemand of die nieuwe gebruiker KDE gaat gebruiken. Dat gebeurt allemaal als de gebruiker voor het eerst in KDE inlogt. We moeten dus gaan zoeken in KDE materiaal.

Ik zal eens gaan zoeken. Maar ik wilde dit al vertellen, want ik heb het idee dat je helemaal verkeerd zoekt (in systeem files).

hcvv
26-Mar-2013, 12:35
Ik heb een uurtje zitten zoeken, maar ik geloof niet dat ik het gevonden heb. Wat er het dichtst bij komt is
/usr/share/kde4/config/SuSE/default. Daarin zitten vier items eindigend op .desktop. MozillaFirefox, Office, Support, live-installer.

Die eerste drie kloppen wel met wat ik op mijn verse KDE zie (ook als ik de inhoud bekijk), maar die laatse heb ik niet. Daarentegen heb ik een KinfoCenter icon. Dit lijkt de inhoud die hoort bij een KDE live CD te zijn.
Raadsels. Maar misschien geeft het je een idee wat je moet zoeken.

Overigens, als je wat vindt, ga dan niet gelijk veranderen. Maak eerst backups als je in files iets gaat wijzigen, schrijf goed op als je files toevoegt of weghaalt. Red wegehaalde files ergens. Zorg dat je alles kunt herstellen.
En bovendien, iets in dit soort omgevingen wijzigen kan zomaar verdwijnen als je iets opnieuw installeert (een security update bijvoorbeeld). We moeten zoeken naar iets wat blijft, maar dit is allemaal buiten mijn normale Unix/Linux kennis.

Knurpht
26-Mar-2013, 15:14
Als het je gaat om de iconen alleen, dan ben je helemaal op de verkeerde plek. Kijk hier maar eens:


knurpht:/usr/share/icons> ls -l
totaal 76
drwxr-xr-x 3 root root 4096 13 mrt 22:14 Adwaita
drwxr-xr-x 9 root root 4096 13 mrt 14:03 crystalsvg
lrwxrwxrwx 1 root root 6 14 mrt 11:24 default.kde4 -> oxygen
drwxr-xr-x 3 root root 4096 6 mrt 12:55 DMZ
drwxr-xr-x 3 root root 4096 6 mrt 12:55 DMZ-AA
drwxr-xr-x 12 root root 4096 22 mrt 17:45 gnome
drwxr-xr-x 3 root root 4096 6 mrt 12:36 handhelds
drwxr-xr-x 17 root root 4096 23 mrt 17:28 hicolor
drwxr-xr-x 9 root root 4096 13 mrt 14:03 locolor
drwxr-xr-x 10 root root 4096 14 mrt 11:23 nuvola
drwxr-xr-x 13 root root 4096 18 mrt 20:59 openSUSE-Xfce
drwxr-xr-x 12 root root 4096 14 mrt 10:28 oxygen
drwxr-xr-x 3 root root 4096 14 mrt 08:02 Oxygen_Black
drwxr-xr-x 3 root root 4096 14 mrt 08:02 Oxygen_Blue
drwxr-xr-x 3 root root 4096 14 mrt 08:02 Oxygen_White
drwxr-xr-x 3 root root 4096 14 mrt 08:02 Oxygen_Yellow
drwxr-xr-x 3 root root 4096 14 mrt 08:02 Oxygen_Zion
drwxr-xr-x 3 root root 4096 6 mrt 12:36 redglass
-rw-r--r-- 1 root root 3208 12 jun 2012 skype.png
drwxr-xr-x 3 root root 4096 6 mrt 12:36 whiteglass



Je ziet dat "default.kde4" een symlink is naar "oxygen". Wil je dat veranderen naar systeemwijd, dan is het het handigst om het icon-theme eerst voor jezelf in KDE helemaal klaar te maken, dwz, dat je het ook goed getest hebt. Stel dat dat thema KDEKevin heet, dan moet er een map zijn in ~/.kde4/share/icons met de naam KDEKevin. Met die map doe je het volgende:


su -c 'cp -r /home/JOUWGEBRUIKERSNAAMHIER/.kde4/share/icons/KDEKevin /usr/share/icons'
su -c 'rm /usr/share/icons/default.kde4 && ln -s /usr/share/icons/KDEKevin /usr/share/icons/default.kde4'

Maar ..... dit is ook niet de manier om 't te doen. Als jouw opvolger daar heel vrolijk een upgrade naar 13.2 doet over een tijd, dan is 't allemaal weg en weet niemand meer hoe 't zat. Plus, 't is allemaal handwerk, dat door de gebruiker zo ongedaan gemaakt kan worden.

Waarom laat ik dit nou allemaal zien? Omdat de gedachte achter je zoektocht te hackerig is. Want ......:D. .... we hebben "kiosktool". Daarmee kun je KDE gebruikersprofielen aanmaken, waarin je o.a. dit soort zaken, "branding" kunt vastleggen.

akaper
26-Mar-2013, 23:22
Als het je gaat om de iconen alleen, dan ben je helemaal op de verkeerde plek. Kijk hier maar eens:
Je ziet dat "default.kde4" een symlink is naar "oxygen". Wil je dat veranderen naar systeemwijd, dan is het het handigst om het icon-theme eerst voor jezelf in KDE helemaal klaar te maken, dwz, dat je het ook goed getest hebt. Stel dat dat thema KDEKevin heet, dan moet er een map zijn in ~/.kde4/share/icons met de naam KDEKevin. Met die map doe je het volgende:


su -c 'cp -r /home/JOUWGEBRUIKERSNAAMHIER/.kde4/share/icons/KDEKevin /usr/share/icons'
su -c 'rm /usr/share/icons/default.kde4 && ln -s /usr/share/icons/KDEKevin /usr/share/icons/default.kde4'

Maar ..... dit is ook niet de manier om 't te doen. Als jouw opvolger daar heel vrolijk een upgrade naar 13.2 doet over een tijd, dan is 't allemaal weg en weet niemand meer hoe 't zat. Plus, 't is allemaal handwerk, dat door de gebruiker zo ongedaan gemaakt kan worden.

Waarom laat ik dit nou allemaal zien? Omdat de gedachte achter je zoektocht te hackerig is. Want ......:D. .... we hebben "kiosktool". Daarmee kun je KDE gebruikersprofielen aanmaken, waarin je o.a. dit soort zaken, "branding" kunt vastleggen.
Aha. Dit vind ik interessant: ik had dezelfde vraag alleen heb ik die nooit gesteld. Als ik kiosktool start, dan zie ik dat deze app een nieuw kde profiel wil vastleggen in /etc/kde-profile. Ik zie volgens mij in /etc/kde4 een set standaardinstellingen die standaard plasma desktop instellingen lijken te zijn. Als dat inderdaad zo is, is het dan niet zo dat de map met de iconen die jij noemt, samen met /etc/kde4 (of /etc/kde-profile als je met kiosktool een nieuw standaardprofiel maakt) uitmaken hoe de standaarddesktop eruitziet? Ik heb hier meer een academische nieuwsgierigheid voor, omdat ik graag wil snappen hoe kde in elkaar zit (geen gehack dus, eeeh denk ik).

hcvv
27-Mar-2013, 02:06
Hm, ik had

de weergegeven iconen op het bureaublad, systeem wijd veranderen.
geïnterpreteerd als het wijzigen van wat daar staat bij eerste start van een gebruiker van KDE. Dus bijv. geen Firefox icon, maar een Chrome icon en de openSUSE icon weg.

Geen haar op mijn hoofd die er aan dacht dat het uiterlijk van de icons bedoeld zou kunnee zijn. Maar ja, da is voor mij ook erg onbelangrijk. Sorry.

Ginkevin
27-Mar-2013, 03:54
Henk jouw eerste interpretatie van mijn vraag was inderdaad correct, het gaat me niet om het uiterlijk van de iconen maar om de programma's die er staan. zoals jij al zegt wil ik de opensuse linkjes niet automatisch op het bureablad hebben. verder zal het gaan om gebruikers die inloggen via een domain id. Gertjan is jouw kiosktool daar ook een oplossing voor?

hcvv
27-Mar-2013, 07:31
Henk jouw eerste interpretatie van mijn vraag was inderdaad correct, het gaat me niet om het uiterlijk van de iconen maar om de programma's die er staan. zoals jij al zegt wil ik de opensuse linkjes niet automatisch op het bureablad hebben. verder zal het gaan om gebruikers die inloggen via een domain id. Gertjan is jouw kiosktool daar ook een oplossing voor?
Gelukkig. Ik heb gisteren welliswaar voor niets gezocht, maar ik heb ik ieder geval geprobeerd het juiste te zoeken. rotfl!

Ginkevin
27-Mar-2013, 07:42
Oke het begin is er en ik begin het te begrijpen, maar dit gaat me niet lukken zonder hulp. Wat ik gedaan heb is een zoekopdracht in /root. Ik heb gezocht op MozillaFirefox.desktop omdat 1 van de 5 .desktop files in /home/Desktop zo genoemd is. Ik kreeg enkele resultaten waaronder een resultaat in /usr/share/kde4/config/SuSE/default zoals Henk al noemde.

Volgens mij is dit de verzamel map voor .desktop files net als icon files opgeslagen worden in /icons/ mapjes van applicaties. En net zoals icon files moeten worden aangeroepen in config files doormiddel van
Icon=/%locatie%/ moeten .desktop files ook worden aangeroepen.

Mijn conclusie: Bij het aanmaken/inloggen van een account draait er een script die de home folder aanmaakt. Dit script is zo geconfigureerd dat bij standaard configuratie de volgende files worden aangeroepen voor copy naar de nieuwe /home folder: "Support.Desktop", "MozillaFirefox.desktop", "MyComputer.desktop", "SuSE.desktop" en "Office.desktop". Dit heb ik getest door eerst een nieuwe .Desktop file toe te voegen genaamd email.Desktop. De configuratie hiervan is:

[Desktop Entry]
Icon=/usr/lib/thunderbird/chrome/icons/default/default256.png
Type=Link
URL[$e]=http://owa.lincolncollege.ac.uk
OnlyShowIn=KDE;
Vervolgens heb ik een nieuwe gebruiker aangemaakt en ge-reboot. Alas geen succes en weer werden alleen de standaard .Desktop files in /home gezet. Vervolgens ben ik weer naar /usr/share/kde4/config/SuSE/ gegaan maar heb ik dit maal een aanpassing gedaan van Support.desktop.

De oorspronkelijke code van Support.desktop is:

[Desktop Entry]
Name=Online Help
Encoding=UTF=8
Icon=Support
Type=Link
URL=http://help.opensuse.org/
OnlyShowIn=KDE;

De aangepaste code van Support.desktop is:

[Desktop Entry]
Name=email
Encoding=UTF-8
Icon=/usr/lib/thunderbird/chrome/icons/default/default256.png
Type=Link
URL[$e]=http://owa.lincolncollege.ac.uk
OnlyShowIn=KDE;

Vervolgens opnieuw een nieuwe gebruiker aangemaakt, ingelogd en verrek.. Op het bureablad staat heel netjes email inplaast van Online Help.
Bestaande .desktop veranderen is een mooie work around maar niet de bedoeling. Kan iemand mij voorzien van een overzicht van scripts die draaien wanneer er een nieuwe gebruiker aangemaakt word/inlogt. Ergens in dit doolhof moet de file zitten die deze .desktop files aanroept.

hcvv
27-Mar-2013, 08:55
Ik weet niet de antwoorden, maar ik heb twee opmerkingen.

1
Je hebt niet gezocht vanuit /root, maar vanuit /. Dat zijn echt twee verschillende dingen en ze bestaan allebei.

2
Zoals ik al eerder heb gezegd, het aanmaken van de gebruiker heeft er niets mee te maken. Het gaat om een gebruiker die inlogt met KDE waar de directory ~/.kde4 nog niet bestaat. Dan gaat KDE een standaard omgeving aanmaken door ~/.kde4 en subdirectories en files te maken met verstekwaarden. En die wil je wijzigen. Als je programma's/scripts zoekt die dat doen moet je dus in de KDE omgeving kijken.

Je kan dat eenvoudig opnieuwe doen door ~/.kde van een gebruiker weg te gooien (het best als die gebruiker niet in KDE is ingelogd, dus uitloggen en met Ctrl-Alt-F1 naar de console en daar in de CLI inloggen). En dan opnieuw met die gebruiker in KDE in te loggen. Daar hoef je geen nieuwe gebruiker voor aan te maken.

Knurpht
27-Mar-2013, 13:36
Henk jouw eerste interpretatie van mijn vraag was inderdaad correct, het gaat me niet om het uiterlijk van de iconen maar om de programma's die er staan. zoals jij al zegt wil ik de opensuse linkjes niet automatisch op het bureablad hebben. verder zal het gaan om gebruikers die inloggen via een domain id. Gertjan is jouw kiosktool daar ook een oplossing voor?

Grappig, deze thread geeft mooi aan, waarom we altijd roepen, dat mensen zo duidelijk mogelijk moeten zijn. Je geeft al veel aan en nog vatten Henk en ik 't anders op. Maar, ter zake, ik ga nu kiosktool installeren en er eens opnieuw naar kijken. Ik meen ooit gelezen te hebben, dat 't programma ook gebruikt wordt om de defaults aan te maken, maar da's lang geleden.

Knurpht
28-Mar-2013, 03:06
@Kevin: had je misschien zelf al geprobeerd, maar dit is wat direct na het aanmaken van een gebruiker "pi" in de map /home/pi staat:

raspberrypi:/home/pi # ll
totaal 44
-rw------- 1 pi users 0 1 jan 00:03 .bash_history
-rw-r--r-- 1 pi users 1177 1 jan 00:03 .bashrc
drwxr-xr-x 2 pi users 4096 1 jan 00:03 bin
drwx------ 2 pi users 4096 1 jan 00:03 .config
-rw-r--r-- 1 pi users 1637 1 jan 00:03 .emacs
drwxr-xr-x 2 pi users 4096 1 jan 00:03 .fonts
-rw-r--r-- 1 pi users 861 1 jan 00:03 .inputrc
drwx------ 2 pi users 4096 1 jan 00:03 .local
-rw-r--r-- 1 pi users 1028 1 jan 00:03 .profile
drwxr-xr-x 2 pi users 4096 1 jan 00:03 public_html
-rw-r--r-- 1 pi users 1940 1 jan 00:03 .xim.template
-rwxr-xr-x 1 pi users 1112 1 jan 00:03 .xinitrc.template


waarmee Henk's gelijk eoens te meer bewezen wordt. Die kiosktool, daar heb ik even naar gekeken, ik zie zo niet wat daar mee te winnen zou zijn.
Dit is hoe 't volgens mij (en Henk denk ik ook) werkt: Op het moment van eerste keer inloggen worden de standaardwaarden uit /usr/share/kde4 gekopiëerd naar de gebruikersmap. En dat dan alleen voor KDE applicaties. De ~/.mozilla map wordt pas aangemaakt bij de eerste keer Firefox opstarten. Nz. Nz.

Ginkevin
28-Mar-2013, 08:22
@Kevin: had je misschien zelf al geprobeerd, maar dit is wat direct na het aanmaken van een gebruiker "pi" in de map /home/pi staat:

raspberrypi:/home/pi # ll
totaal 44
-rw------- 1 pi users 0 1 jan 00:03 .bash_history
-rw-r--r-- 1 pi users 1177 1 jan 00:03 .bashrc
drwxr-xr-x 2 pi users 4096 1 jan 00:03 bin
drwx------ 2 pi users 4096 1 jan 00:03 .config
-rw-r--r-- 1 pi users 1637 1 jan 00:03 .emacs
drwxr-xr-x 2 pi users 4096 1 jan 00:03 .fonts
-rw-r--r-- 1 pi users 861 1 jan 00:03 .inputrc
drwx------ 2 pi users 4096 1 jan 00:03 .local
-rw-r--r-- 1 pi users 1028 1 jan 00:03 .profile
drwxr-xr-x 2 pi users 4096 1 jan 00:03 public_html
-rw-r--r-- 1 pi users 1940 1 jan 00:03 .xim.template
-rwxr-xr-x 1 pi users 1112 1 jan 00:03 .xinitrc.template


waarmee Henk's gelijk eoens te meer bewezen wordt. Die kiosktool, daar heb ik even naar gekeken, ik zie zo niet wat daar mee te winnen zou zijn.
Dit is hoe 't volgens mij (en Henk denk ik ook) werkt: Op het moment van eerste keer inloggen worden de standaardwaarden uit /usr/share/kde4 gekopiëerd naar de gebruikersmap. En dat dan alleen voor KDE applicaties. De ~/.mozilla map wordt pas aangemaakt bij de eerste keer Firefox opstarten. Nz. Nz.

Ik heb nooit beweerd dat Henk ongelijk heeft, maar dat terzijde. Wat je hier zegt: "Op het moment van eerste keer inloggen worden de standaardwaarden uit /usr/share/kde4 gekopiëerd naar de gebruikersmap." was ook mijn conclusie maar net even anders, ik heb namelijk nieuwe .desktop files aangemaakt en kde only gemaakt. Deze .desktop files werden niet mee gekopieerd. Er is dus een script wat specifiek deze .desktop files in die folder /usr/share/kde4 aanroept. Dat script zoek ik dus. Enig idee waar ik deze informatie vandaan kan halen?

Dexter1979
29-Mar-2013, 09:04
Ik ben ook eens lopen zoeken want ik vond dit dus een leuke vraag. Heb het volgende gevonden in de KDE forums:


"You cannot change the default, because those defaults are compiled in. Only if you are compiling your own version of KDE from source you can change them.

But you can know what kde do at the startup:

1. check if the ~/.kde/foo/bar directory structure exist
2. if it does not exist, create one with the default configuration.

So if you have a ~/.kde directory structure at the startup, the default configuration will never be used.

Then if you config for yourself, then copy your own ~/.kde to /etc/skel it should work. Because on most distribution /etc/skel will be copied to home dir when creating new user."

Kijk hier maar eens naar de originele draad (http://forum.kde.org/viewtopic.php?f=16&t=25439#p33926)

Als ik dat zo lees zou de default voor KDE dus inderdaad in /etc/skel. De post erna zegt bovendien dat er nog meer default waarden in /etc/kde4 staan.. Ik heb het even getest en het werkt inderdaad. Ik maakte een nieuwe test map met een bestand in /etc/skel en mijn nieuwe gebruiker had dat dus mooi in zijn /home staan..

Het zou mogelijk moeten zijn om via SUSE studio een DVD te maken met een default in /etc/skel die dan word opgepikt na instalatie. Voor je huidige systeem zou het mogelijk moeten zijn om je .kde4 map te kopiëren en die dan als default gebruiken voor nieuwe gebruikers.

Weet niet of ik nu iets nuttigs heb toegevoegd, maar ik heb weer wat nieuws geleerd :)

hcvv
29-Mar-2013, 09:28
Ja! Dit is volgens mij een zeer goed uitgangspunt voor een oplossing.

Let op. Waar in je citaat ~/.kde staat moeten wij openSUSE gebruikers altijd ~/.kde4 lezen.

Dexter1979
29-Mar-2013, 09:42
Let op. Waar in je citaat ~/.kde staat moeten wij openSUSE gebruikers altijd ~/.kde4 lezen.Ja dat klopt..

Heb het net even uitgeprobeerd en het klopt helemaal.. Heb het ook uitgeprobeerd met mijn .mozilla map en dit werd ook netjes aangemaakt door de nieuwe gebruiker..