public inbox for cygwin-xfree@sourceware.org
help / color / mirror / Atom feed
* new start method questions
@ 2016-06-09 23:32 mathog
  2016-06-10  0:55 ` mathog
  0 siblings, 1 reply; 5+ messages in thread
From: mathog @ 2016-06-09 23:32 UTC (permalink / raw)
  To: cygwin-xfree

Hi,

With an older version of Cygwin I had constructed a cut down 
distribution which included only the minimum pieces needed to run X11.  
It was about 40Mb, installed.

Since the X11 server update the start method changed.  The .bat file 
which starts things now has this as its active line:

C:\cygwinX\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; exec 
/usr/bin/startxwin"

Unfortunately this method creates a "/home/username" directory.  The 
startxwin part
isn't the culprit, just starting bash does it.  This is sufficient:

C:\cygwinX\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; ls"

Is there a way to run startxwin without allowing bash to make a new home 
directory? Leaving off the "-l" does not create the home directory - it 
also does not start the X11 server.

This distribution is intended to work with putty's ssh, not the ssh in 
cygwin.  To get putty to work these changes were made to startxwin:

defaultserverargs=""
to
defaultserverargs=" -listen tcp"

and

eval xinit \"$client\" $clientargs -- \"$server\" $display $serverargs

to

#rotate the log files, keep 2 older ones
cp -f /var/log/xwin/XWin.0.log.1 /var/log/xwin/XWin.0.log.2
cp -f /var/log/xwin/XWin.0.log /var/log/xwin/XWin.0.log.1
(sleep 5; export DISPLAY=$defaultdisplay; xhost +localhost)&
eval xinit \"$client\" $clientargs -- \"$server\" $display $serverargs

I really don't like the cludgy way xhost is started.  However, it does 
work, or at least it works the "most of the time" when the X11 server 
starts within 5 seconds. Ideally it would be more like this:

(xinit \"$client\" $clientargs -- \"$server\" $display $serverargs)&
export DISPLAY=$defaultdisplay;
xhost +localhost
wait

This doesn't work though.  The first line throws an error with that 
syntax, the part within the parens doesn't just use eval, it apparently 
requires it.  Anybody know the correct syntax for this variant?  xhost 
might fail because it starts before the X11 server is working, but I can 
deal with that once the background start is going.

Thanks,

David Mathog
mathog@caltech.edu
Manager, Sequence Analysis Facility, Biology Division, Caltech

--
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/


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: new start method questions
  2016-06-09 23:32 new start method questions mathog
@ 2016-06-10  0:55 ` mathog
  2016-06-10  2:27   ` Marco Atzeri
  2016-06-10 17:05   ` mathog
  0 siblings, 2 replies; 5+ messages in thread
From: mathog @ 2016-06-10  0:55 UTC (permalink / raw)
  To: cygwin-xfree

On 09-Jun-2016 16:32, mathog wrote:
> With an older version of Cygwin I had constructed a cut down
> distribution which included only the minimum pieces needed to run X11.
>  It was about 40Mb, installed.

This approach is not working well at all for the current release.  Last 
time around I just tossed things into a folder to temporarily hide them, 
and by process of elimination winnowed it down to that small size.  This 
time there are many, many, MANY more dll's that are required for the 
server to start, at least  via this method:

C:\cygwinX\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; exec 
/usr/bin/startxwin"

For instance, cyggtk-x11-2.0.0.dll.  Take it out and the X11 server does 
not start.
That dll, according to "ldd" has everything but the kitchen sink linked 
into it.  It isn't linked directly into the server though, it is needed 
for "xwin-xdg-menu.exe",
an accessory program, which if removed from /usr/bin, also results in 
the server not starting.

Last time around the start bat script was just:

@echo off
set CYGXTOP=%~dp0
C:
chdir "%CYGXTOP%\var\log\xwin"
move XWin.0.log.1 XWin.0.log.2
move XWin.0.log XWin.0.log.1
chdir "%CYGXTOP%\bin"
start Xwin :0 -multiwindow

Is there some reason that a similar cut down bat file would not work 
with the current cygwin X11 server? (With "-listen tcp" plus a windows 
firewall rule to only let it
talk to localhost.)

Thanks,

David Mathog
mathog@caltech.edu
Manager, Sequence Analysis Facility, Biology Division, Caltech

--
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/


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: new start method questions
  2016-06-10  0:55 ` mathog
@ 2016-06-10  2:27   ` Marco Atzeri
  2016-06-10 17:05   ` mathog
  1 sibling, 0 replies; 5+ messages in thread
From: Marco Atzeri @ 2016-06-10  2:27 UTC (permalink / raw)
  To: cygwin-xfree

On 10/06/2016 02:55, mathog wrote:
> On 09-Jun-2016 16:32, mathog wrote:
>> With an older version of Cygwin I had constructed a cut down
>> distribution which included only the minimum pieces needed to run X11.
>>  It was about 40Mb, installed.
>
> This approach is not working well at all for the current release.  Last
> time around I just tossed things into a folder to temporarily hide them,
> and by process of elimination winnowed it down to that small size.  This
> time there are many, many, MANY more dll's that are required for the
> server to start, at least  via this method:
>
> C:\cygwinX\bin\run.exe --quote /usr/bin/bash.exe -l -c "cd; exec
> /usr/bin/startxwin"
>
> For instance, cyggtk-x11-2.0.0.dll.  Take it out and the X11 server does
> not start.
> That dll, according to "ldd" has everything but the kitchen sink linked
> into it.  It isn't linked directly into the server though, it is needed
> for "xwin-xdg-menu.exe",
> an accessory program, which if removed from /usr/bin, also results in
> the server not starting.
>

look on
/etc/X11/xinit/startxwinrc

It is calling xwin-xdg-menu

Regards
Marco



--
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/


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: new start method questions
  2016-06-10  0:55 ` mathog
  2016-06-10  2:27   ` Marco Atzeri
@ 2016-06-10 17:05   ` mathog
  2016-06-13 13:07     ` Jon Turney
  1 sibling, 1 reply; 5+ messages in thread
From: mathog @ 2016-06-10 17:05 UTC (permalink / raw)
  To: cygwin-xfree

On 09-Jun-2016 17:55, mathog wrote:
> Last time around the start bat script was just:
> 
> @echo off
> set CYGXTOP=%~dp0
> C:
> chdir "%CYGXTOP%\var\log\xwin"
> move XWin.0.log.1 XWin.0.log.2
> move XWin.0.log XWin.0.log.1
> chdir "%CYGXTOP%\bin"
> start Xwin :0 -multiwindow
> 
> Is there some reason that a similar cut down bat file would not work
> with the current cygwin X11 server? (With "-listen tcp" plus a windows
> firewall rule to only let it talk to localhost.)

In a regular CMD shell navigated to the bin directory and did:

start Xwin :0 -multiwindow -listen tcp

and it worked.  So none of the current start script seems to be 
necessary if the only
goal is to start the X11 server.  It seems to work normally, at least by 
the criterion that xdpyinfo returns the same information as for the 
other starts.

On a related note - are there any situations where the X11 server itself 
(not something in its startup script) will start a subprocess and run a 
different binary?  For instance, some sort of font search operation, or 
perhaps some conditional load of an X11 feature which isn't normally 
started, or some funny kind of cut and paste operation on the Window 
side?

Thanks,

David Mathog
mathog@caltech.edu
Manager, Sequence Analysis Facility, Biology Division, Caltech

--
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/


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: new start method questions
  2016-06-10 17:05   ` mathog
@ 2016-06-13 13:07     ` Jon Turney
  0 siblings, 0 replies; 5+ messages in thread
From: Jon Turney @ 2016-06-13 13:07 UTC (permalink / raw)
  To: cygwin-xfree; +Cc: mathog

On 10/06/2016 18:05, mathog wrote:
> On 09-Jun-2016 17:55, mathog wrote:
>> Last time around the start bat script was just:
>>
>> @echo off
>> set CYGXTOP=%~dp0
>> C:
>> chdir "%CYGXTOP%\var\log\xwin"
>> move XWin.0.log.1 XWin.0.log.2
>> move XWin.0.log XWin.0.log.1
>> chdir "%CYGXTOP%\bin"
>> start Xwin :0 -multiwindow
>>
>> Is there some reason that a similar cut down bat file would not work
>> with the current cygwin X11 server? (With "-listen tcp" plus a windows
>> firewall rule to only let it talk to localhost.)

Usually, the fastest way to answer that kind of question is to try it :)

> In a regular CMD shell navigated to the bin directory and did:
>
> start Xwin :0 -multiwindow -listen tcp
>
> and it worked.  So none of the current start script seems to be
> necessary if the only
> goal is to start the X11 server.  It seems to work normally, at least by
> the criterion that xdpyinfo returns the same information as for the
> other starts.

Yes, if running XWin doesn't actually start the server, that would be a bug

> On a related note - are there any situations where the X11 server itself
> (not something in its startup script) will start a subprocess and run a
> different binary?  For instance, some sort of font search operation, or
> perhaps some conditional load of an X11 feature which isn't normally
> started, or some funny kind of cut and paste operation on the Window side?

There are only 2 cases I can think of:

- The xserver runs xkbcomp during start up to compile the keyboard map
- Menu items in Xwinrc which use the EXEC instruction

-- 
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/


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2016-06-13 13:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-09 23:32 new start method questions mathog
2016-06-10  0:55 ` mathog
2016-06-10  2:27   ` Marco Atzeri
2016-06-10 17:05   ` mathog
2016-06-13 13:07     ` Jon Turney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).