View on GitHub

IRAF Community Distribution

IRAF maintained by the community

Home | Installation | Packages | X11IRAF | PyRAF | Forum

xgterm in Cygwin

brianmik wrote on Oct 07, 2008

I installed IRAF on Cygwin following this guide;
http://www.iac.es/sieinvens/siepedia/pmwiki.php?n=HOWTOs.IrafCygwin

and downloaded xgterm.cygwin into my /usr/local/bin/xgterm folder and then did a
chmod a+x /usr/local/bin/xgterm


When I type xgterm it says "command not found"

How do I fix this?

Thanks

Mike Fitzpatrick wrote on Oct 07, 2008

See the thread http://iraf.net/phpBB2/viewtopic.php?t=86968 and post back if it doesn't solve your problem.

-Mike

brianmik wrote on Oct 07, 2008

IRAF runs fine, I can't open xgterm.

Mike Fitzpatrick wrote on Oct 07, 2008

Same principle: If you type 'xgterm' and get a 'command not found' it means the directory where you installed xgterm isn't in your path. If you type the full path, i.e. /usr/local/bin/xgterm, and it still doesn't start then post what the error message is.

-Mike

brianmik wrote on Oct 07, 2008

I may have not 'installed' xgterm. I have an xgterm.cygwin file in /usr/local/bin/xgterm

As for the path, I need to put /usr/local/bin/xgterm in my .cshrc ?

Mike Fitzpatrick wrote on Oct 07, 2008

may have not 'installed' xgterm. I have an xgterm.cygwin file in /usr/local/bin/xgterm


Then you have 'installed' the 'xgterm' command in the /usr/local/bin directory -- it just started out as the xgterm.cygwin file you downloaded.

As for the path, I need to put /usr/local/bin/xgterm in my .cshrc ?


Assuming you use a C-shell, then yes. The default for Cygwin tends to be bash as the shell, in which case the path is set in the .bashrc file. Use the command "echo $SHELL" to see which shell you're using.

-Mike

brianmik wrote on Oct 07, 2008

echo $SHELL returns /bin/bash

In my .cshrc file I put /usr/local/bin/xgterm here;
case Darwin:
    set path = (. $HOME/bin /sbin /bin /usr/sbin /usr/bin /usr/games \
	/usr/local/bin /usr/local/bin/xgterm /opt/local/bin 
/usr/local/sbin \
	/usr/local/pvm/pvm3/bin /usr/local/pvm/pvm3/lib \
	/usr/X11R6/bin)
    breaksw

and here;

default:
    set path = (. $HOME/bin /sbin /bin /usr/sbin /usr/bin /usr/games \
	/usr/local/bin /usr/local/bin/xgterm /usr/local/sbin \
	/usr/X11R6/bin)
    breaksw
endsw

but my .bashrc file looks like this;
# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

Mike Fitzpatrick wrote on Oct 07, 2008

You can check your path to see if it has /usr/local/bin by doing


% echo $SHELL                   # to find out what shell you use
% echo $path                      # or for Bash
% echo $PATH


The path should include /usr/local/bin for the commands to be found automatically. If not and you're using /bin/csh (or /bin/tcsh) then edit the file .cshrc or .login in your cygwin login directory and find a command like

set path = (/bin /usr/bin)


and edit the path to include /usr/local/bin as well. For /bin/sh (or /bin/bash) the line will be something like

PATH=/bin:/usr/bin:${HOME}/bin


and will be set in your .bash_profile or .bashrc file. Note that you use a space between paths in a .cshrc, and a colon for bash. The choice of editor for the file is up to you.

-Mike

brianmik wrote on Oct 07, 2008

I've added these things that you've indicated and when I type xgterm it still says command not found.

Mike Fitzpatrick wrote on Oct 07, 2008

Did you add the /usr/local/bin directory or literally what was in my message (which I lifted from an earlier one)? Sometimes when you install a new path/command you need to type 'rehash' or else open a new window for the command to be found.

'Command not found' is normally a path problem (e.g. does 'echo $path' list /usr/local/bin??), it can also come about if the command isn't actually executable for some reason: Does starting the command by giving the full path work, or return an error?

brianmik wrote on Oct 07, 2008

for echo $PATH, i get;

/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/cygdrive/c/watcom-1.3/binnt:/cygdrive/c/watcom-1.3/binw:/cygdrive/c/Program Files/ThinkPad/Utilities:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/Intel/Wireless/Bin/:/cygdrive/c/Program Files/ATI Technologies/ATI.ACE/:/cygdrive/c/Program Files/IBM ThinkVantage/Client Security Solution:/cygdrive/c/Program Files/Diskeeper Corporation/Diskeeper/:/cygdrive/c/Program Files/ThinkPad/ConnectUtilities:/cygdrive/c/Program Files/QuickTime/QTSystem/:/usr/lib/lapack


Which seems like a mess to me.

The error says "bash: xgterm: command not found"

Mike Fitzpatrick wrote on Oct 07, 2008

So, what happens if you type "/usr/local/bin/xgterm" to start it explicitly????

An error message about a missing library or such would also explain the message and give you a hint about what to do next.

brianmik wrote on Oct 07, 2008

When I type "/usr/local/bin/xgterm" it says "bash: /usr/local/bin/xgterm/: is a directory". When i type "/usr/local/bin/xgterm/xgterm.cygwin" it says "bash: /usr/local/bin/xgterm/xgterm.cygwin: Permission denied"

brianmik wrote on Oct 07, 2008

I did a chmod a+x on xgterm.cygwin and now when i do "/usr/local/bin/xgterm/xgterm.cygwin" Xgterm opens, however, I cannot get ds9 to open

Mike Fitzpatrick wrote on Oct 07, 2008

So, you don't have a command /usr/local/bin/xgterm, you have a directory by that name. To fix it, copy the xgterm.cygwin executable someplace, delete the the /usr/local/bin/xgterm directory, and then rename/move your xgterm.cygwin to /usr/local/bin/xgterm.

As for ds9, you'll need to find the executable file called 'ds9' (or perhaps 'ds9.exe', but rename it 'ds9') and move it to /usr/local/bin as well. Note you may have to type 'rehash' once this is all done to pick up the new commands.

brianmik wrote on Oct 07, 2008

The way I got ds9 was downloaded the zip and unzipped it to C:/Program Files and then I did a;

cd /usr/local/bin
ln -sf /cygdrive/c/Program\ Files/ds9/ds9.exe ds9
export IMTDEV="inet:5137:127.0.0.1"

When I type ds9, nothing happens. It doesn't give me a command error, it just give me my command line again;
http://img373.imageshack.us/img373/1724/ssa3de5.gif

Last post on Oct 07, 2008