![]() Registered Member ![]()
|
Hello,
Maybe this topic has already been discussed. Is it possible to have separate desktops (size, resolution, placement of icons and windows etc) for the same user and different client hosts (i.e. X servers) connecting over XDMP to KDE? Thanks. |
![]() Administrator ![]()
|
If you export the variable "KDEHOME" set to a specific directory depending on how they connect then you can achieve the desired result.
NOTE: This means that all KDE applications will have different settings depending on how they login ( ie. KMail will need reconfiguring for each connect method )
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
![]() Registered Member ![]()
|
Sounds interesting, I know how to set and export an environment variable. The “only” remaining information is how and where to know from where they (users) come, such as their X-server hostname and display number plus their login. And, of course, where to set and export KDEHOME variable, somewhere between login and desktop coming up fully, somewhere in one of the dozen or so scripts that get executed along the path. That I’m afraid is far above my knowledge on KDE login and desktop start level.
Would this KDEHOME change take care of keyboard settings, which could be physically different between X-servers, too? Can I have KDEHOME pointing somewhere else than my home directory? |
![]() Registered Member ![]()
|
I did an experiment exporting KDEHOME and pointing to some other directory than the default .kde. I sourced a small script from my .profile. I used file name .kde.$DISPLAY (if not local) for KDEHOME. I had to initialize contents of this dir with the contents of default .kde dir, otherwise I couldn’t login – the screen went back to login box.
Now it works, sort of. AFAICS applications, their windows and window sizes and positions are not stored in KDEHOME – I get the same (the lastly used) values irrespective of whether I set KDEHOME or not. Position of Trash and other icons, however, seems to be stored there. Setting of Keyboard Layout (in KDE Control Center, Regional & Accessibility) is not stored in KDEHOME – too bad because I’m using different keyboards depending on workstation I login from – workstations are different from each other and from console. One folder that perhaps should be separate for each X-server logging in is Desktop in user’s home dir. Can I set name of this folder somewhere? Are there other files/folders that store display/keyboard dependent information? Thanks. |
![]() Administrator ![]()
|
The Keyboard Layout setting has to be stored in a global ~/.x<something> file unfortunately. Window Sizes and positions should be stored in ~/.kde though.
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
![]() Registered Member ![]()
|
There is no ~/.x<something> in my ~. It appears that Keyboard Layout is written to and restored from .xkbdrc within ~/.kde tree, irrespective of $KDEHOME settings. Also, some applications such as e.g. konsole do indeed store their start-up existence and window sizes etc. within $KDEHOME tree. Some others such as e.g. Konqueror store these things in ~/.kde irrespective of $KDEHOME settings.
Things are working much better if I don’t set $KDEHOME at all but instead make a symbolic link from ~/.kde to an X-server specific directory within ~. But then we have the problem of the same user logging simultaneously in from 2 or more places… |
![]() Administrator ![]()
|
This is quite interesting. It possibly indicates that $KDEHOME is not being set early enough in the KDE startup procedure.
Try setting it in ~/.xinitrc and then calling "startkde" from it.
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
![]() Registered Member ![]()
|
I verified that KDEHOME is set when startkde is invoked by executing:
env > logfile as the first command in startkde. KDEHOME is set to what I set it in my .profile. This works because .profile is sourced early after kdm login before anything else. So this cannot be the problem. I’m unsure what setting KDEHOME and calling startkde from ~/.xinitrc would accomplish. It would be called when X server starts not when I login into kdm. My explanation for problems with KDEHOME (keyboard settings, some applications start-up and window positions etc.) is that the responsible code uses hard-coded .kde directory when storing/retrieving these things instead of KDEHOME. Could someone check in e.g. Keyboard Layout code if this is the case? |
![]() Administrator ![]()
|
Are you using KDE 4 or KDE 3?
Any form of hardcoding in this case is not acceptable.
KDE Sysadmin
[img]content/bcooksley_sig.png[/img] |
![]() Registered Member ![]()
|
I’m using KDE 3 (Debian Lenny). I did some more experiments. Here are the results.
1. In my ~/.profile I export KDEHOME set to ~/.kde.$DISPLAY replacing ‘:’ in $DISPLAY with ‘.’. 2. Problems with storing/restoring application/desktop settings described earlier appear only if I login as root. 3. Exporting KDEROOTHOME in addition to KDEHOME apparently resolves the problems. 4. If $KDEHOME directory doesn’t exist then it is created at login and KPersonalizer is shown – very good. 5. If I login as root then ~/.kde directory is always created but apparently not used if KDEHOME and KDEROOTHOME are set. 6. If I don’t activate Keyboard Layout at all then the default keyboard layout agrees with at login provided X-server keyboard layout description – very good. I propose we close this thread as resolved. Thanks. |
Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell, Yahoo [Bot]