How to open a gnome-terminal in specific workspace and run script within it automatically upon login


 
Thread Tools Search this Thread
Operating Systems Linux How to open a gnome-terminal in specific workspace and run script within it automatically upon login
# 1  
Old 02-02-2011
How to open a gnome-terminal in specific workspace and run script within it automatically upon login

OK this is a bit messy.

I run Fedora with gnome on a compiz desktop, I have a script (userstart) that opens my 'standard' environment for all my machines when I login. userstart flips to a specific workspace and then opens the required applications in that workspace then flips to the next workspace....

I'm trying to enhance userstart as occasionally compiz won't kick in in time or the first workspace doesn't get flipped to properly.

So I've added to userstart commands that it detects which workspace it's in before it starts opening the apps on that workspace, however this requires that userstart is called from a 'hand off' script that's active on any desktop workspace.

So how do I automatically after login open a gnome-terminal session on a workspace that automatically calls the userstart script?

Thanks in advance

---------- Post updated at 10:34 AM ---------- Previous update was at 02:56 AM ----------

OK I worked out a way to do this.......
# 2  
Old 07-13-2011
Solution

Can you post your solution? I too use Compiz, and I'm trying to find a way to start Xchat on Workspace 4.
# 3  
Old 07-13-2011
Quote:
Originally Posted by ithompson
Can you post your solution? I too use Compiz, and I'm trying to find a way to start Xchat on Workspace 4.
OK This took a while for me to get right but.....

Firstly you have to install wmctrl

I then hacked together a script based on some stuff I found online and called it compizwmctrl.

Code:
#!/bin/bash

function rotate() {
  # The target face number (begins with 0)
  TVPN=$(( $1 % ${NF} ))

  # The X coordinate of the target viewport
  TVPX=$(( ${TVPN} * ${WW} ))

  # Change to the target viewport
  wmctrl -o ${TVPX},0
}

function usage() {
  echo -e "$(basename $0) v${VER}\n"
  echo -e "Usage:\n"
  echo -e "\t$(basename $0) {left|right|#}\n"
  echo -e "\tWhere:\n"
  echo -e "\t\tleft - rotate the cube to the left"
  echo -e "\t\tright - rotate the cube to the right"
  echo -e "\t\t# - rotate to #th face (begins with 0)\n\n"
}

# The action to be performed. $ACT could be 'left' or 'right' to rotate
# left or right, accordingly. $ACT could also be the number of the face
# to rotate into.
ACT=$(echo $1 |tr '[A-Z]' '[a-z]')

[ "x$ACT" == "x" ] && { usage; exit 1; } || {
  case $ACT in
    left|right|[0-9]|[0-9][0-9])
      ;;
    *)
      usage
      exit 1
      ;;
  esac
}


# The informations about the desktop
INFO=$(wmctrl -d)
# The width of the desktop
DW=$(echo "${INFO}"| awk '{sub(/x[0-9]+/, "", $4); print $4}')
# The width of the workarea
WW=$(echo "${INFO}"| awk '{sub(/x[0-9]+/, "", $9); print $9}')
# The number of faces on the cube
NF=$(($DW/$WW))
# The X coordinate of the viewport
CVPX=$(echo "${INFO}" |awk '{sub(/,[0-9]+/, "", $6); print $6}')
# Current number of the face in all faces (begins with 0)
CVPN=$(( ${CVPX} / ${WW} ))

[ "$ACT" == "right" ] && {
  ACT=$(( ${CVPN} + 1 ))
} || {
  [ "$ACT" == "left" ] && {
    ACT=$(( ${CVPN} - 1 ))
  }
}

rotate ${ACT}

Now I can choose which compiz workspace I want I by simple command for example:-

compizwmctrl 2

(don't forget workspaces start at 0)

then put together a startup script that starts all my sessions the way I want.

I create a profile for a specific gnome terminal session to give me transparency, keep the window title etc.... my profile is called AutoTS

So you might want something like this.....

Code:
#!/bin/bash

compizwmctrl 3

gnome-terminal --window-with-profile=AutoTS --geometry=95x26+20+40 --working-directory=~/x-chat --title='X-Chat' &

You may need to put a sleep in before the first compizwmctrl to make sure your compiz session is fully started before you start running the second script, for example I put in a sleep 15 just to give the environment enough time to start properly and settle down before firing all my autostart scripts.

And hopefully that should do it for ya.....

good luck

Last edited by Bashingaway; 07-13-2011 at 07:14 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Open gnome-terminal with multi tabs and automatically run a script in each tab

Hi All , i am trying to create an alias to open a new gnome-terminal and run some commands in each tab & to have a specific name for each tab i am using csh , tried this command gnome-terminal --tab -t "s1" --tab -t "s2" --tab -t "s3" --tab -t "s4" it opened 4 tabs but the title didn't... (0 Replies)
Discussion started by: Assem
0 Replies

2. Shell Programming and Scripting

Problem run script inside a gnome-terminal

hi, I would like to ask about using gnome-terminal command, I had a script that will run my VBOX VM in headless and i want to display the output(STDOUT) on the gnome-terminal window. The purpose that i want to display the STDOUT of the script cause i will used it or create a desktop shortcut for... (11 Replies)
Discussion started by: jao_madn
11 Replies

3. Shell Programming and Scripting

Help to hide shell terminal and run prompt program after ssh login for specified user

Hey guys, I have some task from my office to lock user on the specified directory after the user logged on using ssh. And then run prompt program to fill the required information. Yeah, just like an ATM system. My question: How could I do those?? AFAIK I have to edit the ~./bashrc. But the... (1 Reply)
Discussion started by: franzramadhan
1 Replies

4. Red Hat

How to open terminal automatically.

hi, I am using red hat .I want that when ever the user login in GUI interface the terminal windows automatically open and then the user want to logout it 1st close the terminal and then login. There is a file in #ls -a i.e .bashrc and .bash_logout I does not know how to add my... (0 Replies)
Discussion started by: mypass
0 Replies

5. AIX

How to automatically load a script once I login?

Hi, may I know how to automatically load a script once I login? For example, I want to load "set -o vi" command once I login in my Aix. (2 Replies)
Discussion started by: ngaisteve1
2 Replies

6. Shell Programming and Scripting

Is command line invocation of gnome-terminal to run more than one command possible?

Hello, I am trying to learn how to pass something more than a one-command startup for gnome-terminal. I will give an example of what I'm trying to do here: #! /bin/bash # #TODO write this for gnome and xterm USAGE=" ______________________________________________ ${0##*/} run... (0 Replies)
Discussion started by: Narnie
0 Replies

7. Solaris

How to open and arrange terminal windows automatically under CDE?

Hi, Is there a way to open and arrange terminal windows automatically under CDE? For example, I want to open and arrange terminal windows like this: |------------| | TW TW TW | | TW TW TW | | TW TW TW | |------------| Thank you in advanced! (5 Replies)
Discussion started by: aixlover
5 Replies

8. Shell Programming and Scripting

open terminal to run cmd using shell script

i want the shell script to open the terminal and in that terminal i want to run a command specified in the script... how can it be done... (2 Replies)
Discussion started by: chandrabhushan
2 Replies

9. UNIX for Dummies Questions & Answers

how to run a Script automatically

How to make a script run automatically using a cron?? i do not know abt cron...... if i have simple.sh file and i need this to run everyday at a particular time what needs to be done thanks in advance (4 Replies)
Discussion started by: hamsa
4 Replies

10. UNIX for Dummies Questions & Answers

How to run a script automatically ?????

Hi All, How to run a script automatically using cronjob everyday from Monday to Friday 9A.M to 5P.M at an interval of ONE HOUR.I want the complete syntax means how to put in the cron job and there after. URGENTLY NEED HELP THANKS IN ADVANCE CHEERS Arunava (7 Replies)
Discussion started by: arunava_maity
7 Replies
Login or Register to Ask a Question