LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   xterm - howto lauch an xterm into a specific directory (https://www.linuxquestions.org/questions/linux-software-2/xterm-howto-lauch-an-xterm-into-a-specific-directory-226013/)

jobano 09-03-2004 01:13 AM

xterm - howto lauch an xterm into a specific directory
 
hello,

I would like to launch an xterm from my file manager, I'm able to get the directory but not to launch an xterm prompting at this directory... you know ?
should not be so geeky, I will be shamy

thanks in advance


PS: in the same kind of idea, how can I launch something as a specific user into a root owned script ?

/bin/bash 09-03-2004 05:41 AM

If you are using Konqueror to browse with then it's easy, just "right-click" on the folder and select "Actions" and then select "Open terminal here".

/bin/bash 09-03-2004 05:44 AM

As for running as a specific user, you should use the su command to change user id.

jobano 09-03-2004 06:45 PM

thanks for your help, but it's not so obvious
I perhaps was not clear enough but I need to script that !

to run an xterm at a specific directory, I tried (as script run by clicking on a directory into the file manager)
Code:

dir=$@
cd $dir
xterm &        <---- this xterm will always be in my home directory

or
Code:

dir=$@
xterm -e "cd $dir"    <---- this xterm flash and never wait for me


and to run a program hold by a specific using a script launched by root...
Code:

echo user: $USER
su jobano
echo user: $USER      <------- obviously this command wait the sub-shell logout ; please help


I really need someone's help on that because finding documentation on so precise points is a bit complex
Yours sincerely.

idaho 09-03-2004 07:15 PM

When you open an xterm window, you are effectively logging in. Therefore an xterm session will always start at your home directory. You can use expect:
(http://expect.nist.gov/)
to pass commands to the xterm session after you start it. Changing to your desired directory after you have launched xterm would be covered by this.

To run a root owned script as a non root user you can use sudo:
http://www.courtesan.com/sudo/

jobano 09-03-2004 08:54 PM

Quote:

Originally posted by idaho
When you open an xterm window, you are effectively logging in. Therefore an xterm session will always start at your home directory. You can use expect



I have found another tip, not perfect but does the trick for me
Code:

#!/bin/bash
clic=$@
if [ -d $clic ]; then
        dir=$clic
else
        dir="`dirname \"$clic\"`/"
fi
xterm -e "cd $dir && sudo su $USER" &

my shell is a sub-shell of another but I don't care (the parent kill itself instantly when I come back on it)


Quote:

Originally posted by idaho
To run a root owned script as a non root user you can use sudo:
http://www.courtesan.com/sudo/
It was the inverse I wanted, but I've found !
Code:

echo user: $USER
su -c 'echo user: $USER' jobano

That does the trick,
thanks, you were quick, that's nice !

jayanth 02-14-2008 10:31 PM

Getting the Prompt After 'xterm -e <command>'
 
Hi,

I'm trying to do something similar, that is, running a command automatically after launching an xterm window using the 'e' switch. Something like:

xterm -e "ls"

The problem is that this causes the xterm window to run the command and get destroyed, that is, the command prompt is not available. But when I run the command

xterm -e "ls && sudo su"

the window stays open and xterm's command prompt is available for further use. But this is not what I want.

How do I get the window to stay open and also get the command prompt available (the 'hold' switch does the former, but not the latter)?

Thanks,

Jayanth

jayanth 02-18-2008 05:04 AM

Anyone...?

virtual_void 02-26-2008 03:18 PM

This is how you launch xterm into directory <dir>

# xterm -e 'cd <dir> && /bin/bash'

this is how you would do it with konsole
# konsole --workdir <dir>

789 01-27-2023 09:49 AM

Quote:

Originally Posted by virtual_void (Post 3070681)
This is how you launch xterm into directory <dir>

# xterm -e 'cd <dir> && /bin/bash'

You are the man !
__________________________
Yes, this thread is 15 years old and dormant; but today it was very timely and relevant to me.

boughtonp 01-27-2023 10:23 AM

Quote:

Originally Posted by 789 (Post 6407294)
Yes, this thread is 15 years old and dormant; but today it was very timely and relevant to me.

The thread was relevant but not timely to you. The warning is about whether your reply would be timely and relevant to other people. A vague expression of congratulation towards a long inactive account is neither.

Quote:

Please note that this thread has not been replied to in over 6 months. Please ensure your reply is still relevant and timely.

Talha222 01-30-2023 04:45 AM

You can launch an xterm terminal into a specific directory using the following command:


xterm -cd /path/to/directory

Replace "/path/to/directory" with the actual path to the directory you want to launch the xterm terminal in. This will open an xterm terminal in the specified directory, allowing you to run commands and navigate the file system from that location.


All times are GMT -5. The time now is 11:04 AM.