On Sat, Mar 14, 2009 at 09:19:57PM +0000, Andy Koppe wrote: > > When we running program with mintty from shortcut, mintty will > > running the program in non login shell without knowing cygwin PATH. > > This will make some kind of error When program try to running > > external program like info run gzip or using shell escape in vim. > > Is this expected behavior? > > Yep. > > $ mintty --help > Usage: ./mintty [OPTION]... [COMMAND [ARGS]...] > > If no command is given, the user's default shell is invoked as a non-login > shell. If the command is a single minus sign, the default shell is invoked > as a login shell. Otherwise the command is invoked with the given arguments. > ... > > It's much the same for rxvt (and xterm) btw: without arguments they > invoke a non-login shell, and to get a login shell you have to tell > them with option -ls. > Ok, this is normal behavior > > > Making mintty shortcut running info with this code: > > <code> > > b...@semampir ~ > > $ mkshortcut -D -i /usr/bin/mintty.exe -w /usr/bin -a "info" > > /usr/bin/mintty.exe > > <code> > > > > When I try to enter the node info produce error like this: > > gunzip < /usr/share/info/as.info.gz.../bin/sh: gunzip: command not > > found Cannot find node `Top'. > > note: Making shortcut manually also produce same problem > > The problem is that the PATH variable isn't set up, so info can't find > gunzip. Invoking a login shell does set up PATH (in /etc/profile), but > that's not necessary. > Invoking login shell making additional overhead and execution time that unnecessary. > > > This error not found when using rxvt > > <code> > > b...@semampir ~ > > $ mkshortcut -D ?-i /usr/bin/cygicons-0.dll -j8 -w /usr/bin -a "-p > > /usr/bin rxvt -e info" ?/usr/bin/run.exe > > <code> > > The difference here is that you're adding /usr/bin to the PATH using > the -p option to run.exe. > > It appears that invoking MinTTY through run.exe keeps its window > hidden, which I guess is what run.exe is supposed to do: "run - start > programs with hidden console window". I don't know why that's > different for rxvt. > > > > To avoid this trouble use bash -lc <command> so mintty will run bash > > in login shell first. > > > > <code> > > b...@semampir ~ > > $ mkshortcut -D -i /usr/bin/mintty.exe -w /usr/bin -a "bash -lc > > /usr/bin/info" /usr/bin/mintty.exe > > <code> > > As mentioned above, invoking a login shell is overkill here. Just > setting PATH will do: > > $ mkshortcut -D -i /usr/bin/mintty.exe -w /usr/bin -a "sh -c > 'PATH=/bin info'" /usr/bin/mintty.exe > > Alternatively, you could add C:\cygwin\bin to the Windows Path variable. > It's working, I hope you will add this in your man page. > Andy
-- It is easy to say no when there is a deeper yes burning within -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/