multiple desktops simultaneously,

Hi all.- hope you can read my terrible english, i am not sure that i can describe this problem in simple terms, and i am not sure that i use the right terms either, therefore this post is little longer than i think should be necessary if i had the english language with me - so please escuse me for that.

I want to work on my fvwm configuration without screwing up the configuration i am logged in to.
I have a ‘development’ user (testfvwm) and a ‘normal’ user (peter).
As the normal user i used to be logged in on tty7 and the development user was logged in on tty8.

Now i wan’t to log on at tty7 as peter and then instead of need to use tty8 i want to start a nested fvwm-session from tty7 where i can log in as user testfvwm.

I have followed the directions in this guide and have in the testfvwm home directory created the file .xinitrc-fvwm. with theese lines #!/bin/sh exec /usr/bin/fvwm2

when i then on a xterm as user testfvwm run this command xinit ~/.xinitrc-fvwm – which Xnest :5 & i got a window where i am logged into the nested fvwm, but it seems to use the configfiles that belongs to user peter.
When i open an xterm on that ‘subsession.?’ of fvwm and run whoami - it says that i am testfvwm. … 68shl6.png

I have tried the same thing with kde as subshell (~/.xinitrc-kde ) , and windowmaker (~/.xinitrc-wmaker ), and there is the same problem with wmaker but not with kde.

I have also tried start the display-manager (in my case i use wdm) as a sub-session to log in as user testfvwm that way, but that doesn’t work at all.

Any ideas someone.?

ps - i dont think that this question is X-specific, and i am not sure either its specific to fvwm or not , so if this is the wrong forum (it probably is) - then escuse me for that and please redirect me to where i should ask about this.

Well, I think that you are doing the things in a very complicated manner.

First of all, you don’t need another user just to test a config. Fvwm has a -f parameter, that can be used to make fvwm read any arbitrary file as it’s config file, for example: “fvwm -f ~/.fvwm-test/config”

Besides that, I use a modified startx script to be able to run as many wm’s as I like for testing purposes. In your startx script you will find something similar to this:


I modified it this way:

userclientrc="$HOME/.xinitrc-$(basename $0)"
echo Using $userclientrc instead of ~/.xinitrc

Now, you save this with any name you want, for example, “myx”. Put it in a directory that is in your path. I save my scripts at ~/scripts/ and add that dir to my path on my bashrc and bash_profile files. Then simply you create symlinks to it. For example:

cd ~
cd scripts
ln -s myx fvwm-test

The corresponding xinitrc for fvwm-test would then be ~/.xinitrc-fvwm-test. This way you just create symlinks and then the matching xinitrc files. Use this in conjunction with fvwm -f to create as many fvwm alternate configs as you need with a single user. Plus you can use it to test any other wm as well.

At least, this is the way I do it since years ago and it always worked ok, if you don’t mind having 40 symlinks around for the myx script. Another advantage is that everything that works with startx will work with any of the symlinks. For example, if you don’t want xnest you can login into an vt and do “fvwm-test – :1” to open an additional x session.

ty for you answer
I have as user root created myx after your instructions and placed it in /BIN (this is my global folder for script-files).
then i have created the link /BIN/fvwm-test to /BIN/myx
then i created a .xinintrc-fvwm-test - but i don’t know what to put in there.
Should it be fvwm -f ~/.fvwm-test/config?
On the command line (in a xterm) I can’t manage to get fvwm -f ~/.fvwm-test/confiig to run, i got this error

And thats the last thing i want to do, because then there is a possibility that i lose all the work that i am into (it have happen me one time to many).
Any suggestions .?

I usually do this in my home dir, but it is ok to put it in /bin, if you want it to be available globaly. Just make sure that the file has +rx permissions for everyone.

This is just like the starndard ~/.xinitrc. In ~/.xinitrc you put commands you want to run when starting X. Usually, the last one is the window manager. You just need to take care of one thing: you need to add an ‘&’ at the ending of each line, so the commands will be launcher in the background and will not lock the server. The last command will not have an ampersand ‘&’ at the end, because it is actually the one that locks the server (as said, usually, the wm). When that program is closed, the X session ends as well.

So, a sample ~/.xinitrc file would be something like this:

fvwm -f ~/.fvwm-test1/config

In this case, the file should be saved as ~/.xinitrc-fvwm-test, and the matching script would be /bin/fvwm-test, which will be a symlink to /bin/myx. Remember to check the x permissions on that script.

Note that what you are trying to do here is a totally different thing. You probably want “fvwm -f ~/.fvwm-test/config -r” (-r means “replace”). That will replace the current wm (which is also fvwm) by a new instance of fvwm, which will load another config. This is not usually dangerous per sè. The new fvwm instance should just substitute the old one and no problem should occur. But remember one thing: this is fvwm, which means that you have the power to screw up yourself.

If you launch fvwm -r, your previous fvwm will be killed, and a new one launched, the windows inside your X session will remain unaltered at that point. But if your new fvwm session can’t start (for example, if you did something silly on your StartFunction, or if a module crashed for some reason) then X will be closed as well. As there will be no wm running. At that point, all your windows will be, of course, completely killed.

I just use GNU Screen and text based programs most of the time. So, if X crashes (not likely around here), I can reattach my screen sessions in a console or a new x session.

I know.
As the environment i try to create is a mix with fvwmbuttons ActiveAction and fvwmpager, then i in this testing stage can’t
have to many desktops to work with, so for testing i am satisfied with 1 desktop with the size of 3x3, usually i have 9 desktops with a size of 3x3
What i am afraid shall happend is that i somewhere fiddle away the reboot-fvwm function from my menu, then i have to quit and log in again, and as i have quite many friends that im me on amsn (I use to have amsn on one of the desktops not seen from my test configuration), then it can lead to misunderstandings if i don’t answering them - i need to have that communication with my girlfriend and coworkers .

I also have a customers db in Kexi, which to is on another desktop and i don’t want that closed before saving the data i entered there.

Therefore what i am seraching for is not a way to boot x from scratch with different fvwm-configurations.
I want to be logged in on fvwm and then on another xsession within the same tty run the different fvwm-configuration on one of my desks. so i can fiddle with it in between while i am doing other things.
You see the picture of me doing that in the original post, the problem is only that it lofrom the sam configurationfile.
You see there that i have two pagers, that because i have tow fvwm sessions simultanesly.
And i have executed the command whoami in one xterm in that session and in one xterm in the ‘main’ session, to emphasize what my problem is.

I am doing the coding in Setedit, so there you got a point - i should run it from a screen session.
If i could find a amsn alike and something like kexi for console, and also something better than lynx then i to should prior to use them.

If you really need to have many xsessions available in one single desktop, you can do so with xnest, as you were doing in your first post. It will just work ok with the method I explained above to manage all the stuff.

You just need to modify the example to use my scripts/symlinks solution instead of the xinit one. Like this:

$ fvwm-test -- $(which Xnest) :1 -geometry 1024x768

Change the display number from and resolution to your liking. Basically, it is the same line you can see in the wiki, but in conjunction with the solution I gave you above. This way, you can run an arbitrary number of sessions in on windows under your main one. :wink:

Just an example screenshot with flux inside f … 065805.jpg

I don’t use msn, so I can’t help on that. There might transports for many irc programs like irssi, I really don’t know. There is a good and simple console client for jabber, though, with ssl support and many advanced features: mcabber, in case you find any use for it.

About kexi, you will not find anything similar in text mode. You can still use sql the old fashion. But if you are looking for something kexi-like, I can’t help.

And, about lynx, I never liked it too much. I preffer w3m, mainly because it can handle non-english encodings far better (which is not a problem is you only speak english language, but for the rest of us it is a pain). Maybe lynx can be configured better than I did, or maybe it has been too long since I tried it and the things have changed. I really don’t know. Mainly, utf8 ineptitude, is what keeps me away from text based web and mail clients. For those, I still use X based programs.

links -g can also be nice if you don’t need localization support at all (it can’t even write accents, so don’t try). It works ok on framebuffer in console. Of course, that is of no help at all if you run it under X, because then it uses the X display, and it would die anyway with the rest of windows (and if you launch it without -g it is just another crappy text browser on a terminal).

Not quite, actually. When FVWM restarts, the windows are reparented to be the children of the root window. The same thing happens within an ICCCM recapture, so if it can’t start, it’s non-fatal, and all that will happen is that you won’t be able to do much with the windows until a WM is started.

– Thomas Adam


– Thomas Adam

And to actually answer the question…

I wouldn’t use Xnest at all. Yes, it has its purpose but for general usage, the way it emulates things (both acting as an XClient and an XServer which scuppers more than just keyboard input, for instance) really would make it impractical for anything more than simple usage.

Nox and indeed xephyris are meant to be making strides on this front, do I’d check these out.

– Thomas Adam

I have got a lot of god information here, thank you 6thpink for clearing up things about Xnest and how to run multiple desktops and suggestions for programs to test - also thank you for ideas about how to modify startx. And thank you Thomas Adam for your input regarding the subjects in this thread.
I have not much time to try all off the ideas right now, but i will do that as soon as i can.