X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=BAYES_00,SARE_MSGID_LONG40,SPF_PASS X-Spam-Check-By: sourceware.org MIME-Version: 1.0 In-Reply-To: <20090314172556.GA4004@komputer04> References: <1236781363 DOT 28956 DOT ezmlm AT cygwin DOT com> <20090314172556 DOT GA4004 AT komputer04> Date: Sat, 14 Mar 2009 21:19:57 +0000 Message-ID: <416096c60903141419s1472e9e4gb743d1f1b346fe0a@mail.gmail.com> Subject: Re: Mintty running program from shortcut problem From: Andy Koppe To: cygwin AT cygwin DOT com, cygwin-digest AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com > 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. > Making mintty shortcut running info with this code: > > bayu AT semampir ~ > $ mkshortcut -D -i /usr/bin/mintty.exe -w /usr/bin -a "info" > /usr/bin/mintty.exe > > > 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. > This error not found when using rxvt > > bayu AT semampir ~ > $ mkshortcut -D =A0-i /usr/bin/cygicons-0.dll -j8 -w /usr/bin -a "-p > /usr/bin rxvt -e info" =A0/usr/bin/run.exe > 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 so mintty will run bash > in login shell first. > > > bayu AT semampir ~ > $ mkshortcut -D -i /usr/bin/mintty.exe -w /usr/bin -a "bash -lc > /usr/bin/info" /usr/bin/mintty.exe > 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=3D/bin info'" /usr/bin/mintty.exe Alternatively, you could add C:\cygwin\bin to the Windows Path variable. Andy -- 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/