This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Is there a way to spawn processes from the XWin login shell?


As you have shown me, I probably overcomplicated my question. It would
have been simpler if I asked: 'can I make XWin start child processes
without using the tray icon?' :)

The reason I was trying to do that is because my zsh login scripts set
things that only make sense once in a traditional XServer
lifetime(setxkbmap,xmodmap,ssh-agent), not to mention xmodmap
complains the second time it is ran. I managed to refactor the scripts
so they can be run many times in the same x-server so everything is
fine now.

In any case, you should consider implementing a flag to XWin.exe so it
can spawn processes in an already running instance of XWin.exe, as
this would bring XWin more close to the spirit of traditional X window
managers where a login environment is only created once per session.

Anyway, thanks for your help Jon

On Wed, Mar 27, 2013 at 1:41 PM, Jon TURNEY <jon.turney@dronecode.org.uk> wrote:
> On 23/03/2013 00:02, Thiago Padilha wrote:
>> XWin uses a login shell to configure its environment when it starts
>> up, and processes spawned from the tray icon inherit XWin environment
>> so they don't have to be spawned from login shells. Is there a way to
>> achieve the same effect without using a tray icon?
>
> Yes.
>
>> For example, can I have a desktop shortcut that launches a terminal
>> emulator with a simple interactive(non-login) shell and still have it
>> inherit the currently running XWin environment like it was started
>> from the tray icon?
>
> To inherit implies that it is a child of XWin, so no.
>
> However, you can create a process with an identical login environment by
> requesting the shell to create a login environment.
>
> On 27/03/2013 15:52, Thiago Padilha wrote:
>> Actually, I use windows shortcut with the following command line:
>> C:\cygwin\bin\run.exe /usr/bin/zsh -l -c 'exec startxwin'
>>
>> I'm guessing the startxwin is responsible for setting up the login
>> environment. Still, the only way to start processes inheriting from
>> the login shell seems to be by using the tray icon.
>
> Reading 'man zsh' would save you having to guess.
>
> The login environment is nothing to do with startxwin.  You are requesting zsh
> to create the login environment with the '-l' flag.
>
> --
> Jon TURNEY
> Volunteer Cygwin/X X Server maintainer

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]