Screen
Revision 2 as of 2009-04-27 18:34:48
Clear message
Ubuntu Open Week - Screen-Profiles - DustinKirkland - Mon, Apr 27th, 2009
UTC -4
(02:01:44 PM) kirkland: jcastro: thank you Mr. Castro
(02:01:52 PM) kirkland: alrighty .... screen-profiles!
(02:02:12 PM) kirkland: so i'm going to divide this track up into a couple of small sets
(02:02:17 PM) kirkland: set 1 is a brief intro
(02:02:18 PM) Gordon- left the room.
(02:02:24 PM) kirkland: set 2 is a shared session demo
(02:02:40 PM) kirkland: and in set 3, you'll play with this on your own systems
(02:02:50 PM) kirkland: okay ... set 1
(02:02:57 PM) kirkland: GNU screen is a text-based window manager
(02:03:22 PM) kirkland: the Ubuntu server differs from several other server distributions in that it does not install a graphical desktop by default
(02:03:31 PM) kirkland: we try to keep our server very lean and mean!
(02:03:45 PM) kirkland: however, many people ask us why don't we ship a graphical desktop
(02:03:57 PM) ewsubach left the room ("has left the building.").
(02:04:02 PM) kirkland: in many cases, i actually believe that a *window manager* is actually what people want/need
(02:04:04 PM) jcastro: .oO (You can listen to Dustin's interview about screen profiles on http://ubuntupodcast.net/) -ed.
(02:04:39 PM) kirkland: a window manager gives you the ability to run multiple programs at the same time, in parallel, attach, detach, monitor system status, etc.
(02:04:53 PM) kirkland: screen has been around for 20+ years
(02:05:07 PM) kirkland: but in the default configuration, it's exceedingly difficult to customize
(02:05:30 PM) kirkland: so, for Ubuntu, we've created a phenomenal little program call screen-profiles that makes screen even more useful and user-friendly
(02:05:39 PM) kirkland: okay, so now for our demo ....
(02:05:46 PM) kirkland: so set 2, group demo!
(02:06:01 PM) kirkland: for this, you'll want to keep IRC open, where I'll explain what I'm doing
(02:06:18 PM) kirkland: but you'll also want to open up a terminal window, and ssh to this system ....
(02:06:30 PM) kirkland: ssh guest@guest@ec2-67-202-41-73.compute-1.amazonaws.com
(02:06:45 PM) kirkland: that's an instance of Ubuntu Jaunty running in Amazon's ec2
(02:06:50 PM) kirkland: the password is "guest"
(02:07:11 PM) kirkland: i'm going to give 60 seconds here for people to login
(02:07:22 PM) dholbach left the room (quit: "Ex-Chat").
(02:07:38 PM) jcastro: .oO (the ssh url and password are in the topic if you need to refer to them)
(02:07:44 PM) kirkland: so what you're looking at is a shared screen session
(02:07:53 PM) kirkland: i have write access, and everyone else has read-only access
(02:08:05 PM) kirkland: for demo purposes, of course
(02:08:16 PM) kirkland: you should see across the bottom of your terminal two light grey lights
(02:08:19 PM) kirkland: lines
(02:08:27 PM) kirkland: the top line says:
(02:08:32 PM) kirkland: 0*&$ shell(guest) Menu:<F9>
(02:08:39 PM) kirkland: we currently have one window open
(02:08:43 PM) kirkland: (that's going to change in a moment)
(02:08:46 PM) kirkland: the second line says:
(02:08:51 PM) kirkland: \o/ Ubuntu 9.04 2! 20# 0.57 2.6GHz 1.6GB,6% 2009-04-27 18:07:48
(02:08:57 PM) kirkland: i'm going to explain those shortly
(02:09:10 PM) kirkland: first, i'm going to launch the F9:Menu
(02:09:16 PM) kirkland: and I want to show you the help menu
(02:09:26 PM) kirkland: in your terminal, press F4
(02:09:36 PM) jcastro: kirkland: seems like some people can't get in, maybe there's a client limit?
(02:09:36 PM) kirkland: this will move your view over to the 2nd window I created
(02:09:49 PM) jcastro: but keep going
(02:09:50 PM) kirkland: jcastro: hmm, we have 25 people in
(02:09:58 PM) kirkland: 28+ and counting
(02:10:01 PM) jcastro: ok good
(02:10:23 PM) jcastro: continue, sorry
(02:10:27 PM) kirkland: anyone who can't see this in the ec2 instance, please run 'screen' locally
(02:10:32 PM) kirkland: (which will be set 3)
(02:10:49 PM) kirkland: okay, if you're in the screen session, please hit F4 to navigate to your 2nd window
(02:10:53 PM) kirkland: this is sort of like alt-tab
(02:11:57 PM) kirkland: okay, now, i've launched the help memu
(02:11:58 PM) kirkland: menu
(02:12:11 PM) kirkland: here, you can see that there are a couple of special actions bound to your F-keys
(02:12:18 PM) kirkland: in our shared screen session, i've disabled them
(02:12:50 PM) kirkland: but if you run 'screen' on your local jaunty system, (and choose the light profile) you should be able to use them
(02:12:56 PM) kirkland: so f2 will create a new window
(02:13:05 PM) kirkland: f3/f4 will go back and forth among open windows
(02:13:18 PM) kirkland: f5 will reload the profile (will demo in a moment)
(02:13:22 PM) kirkland: f6 will detach
(02:13:29 PM) kirkland: f7 will enter scrollback/search mode
(02:13:37 PM) kirkland: f9 will launch this menu
(02:13:49 PM) kirkland: and f12 will lock the screen (like a screensaver for the terminal)
(02:13:55 PM) kirkland: okay
(02:14:10 PM) kirkland: so another thing i can do from this menu is change my profile
(02:14:20 PM) kirkland: i have created a dozen or so different colored profiles
(02:14:27 PM) kirkland: i like a different color profile on each of my servers
(02:14:38 PM) kirkland: we're currently using the light profile
(02:14:48 PM) kirkland: i'm going to change it to a different one, then hit F5 to reload
(02:15:01 PM) sean is now known as Guest76893
(02:15:32 PM) kirkland: (this is somewhat laggy)
(02:15:42 PM) kirkland: (my apologies for that)
(02:16:26 PM) kirkland: okay, profile reloaded
(02:16:30 PM) kirkland: now it's white on black
(02:16:49 PM) kirkland: as you can see, there are other colors available, please play with them on your local setup later
(02:17:06 PM) kirkland: now, let's take a look at the bottom bar
(02:17:16 PM) kirkland: that's our status indicator
(02:17:34 PM) kirkland: \o/ is intended to be an approximation of the ubuntu logo (3 colors)
(02:17:44 PM) kirkland: followed by our current distro and release version
(02:17:59 PM) kirkland: the 2! indicates that there are 2 updates available
(02:18:12 PM) kirkland: 41# tells me that there are 41 user logged on :-)
(02:18:15 PM) kirkland: woohoo!
(02:18:25 PM) kirkland: the current load is 2.14 (changing every 2 seconds)
(02:18:35 PM) kirkland: this system has a single cpu, running at 2.6GHz
(02:18:50 PM) kirkland: but this also changes every 2 seconds, which is useful if you have cpu frequency scaling available
(02:18:57 PM) kirkland: there's 1.6GB of memory, of which 10% is used
(02:19:04 PM) kirkland: and of course, the current date and time
(02:19:17 PM) kirkland: but this is only a small subset of the status items you can enable
(02:19:31 PM) kirkland: this is intended to mimic gnome's applets in your gnome-panel
(02:19:50 PM) kirkland: so now i'm going to toggle some status notifications
(02:20:02 PM) kirkland: arch is the architecture of the system
(02:20:12 PM) kirkland: the battery is useful on laptops (not in ec2, though!)
(02:20:22 PM) kirkland: however, ec2-cost is very useful here!
(02:20:33 PM) kirkland: so i'm going to enable that
(02:20:38 PM) kirkland: as well as the hostname
(02:20:53 PM) kirkland: network bandwidth might be interesting on this system
(02:20:57 PM) kirkland: since so many of us are logged in
(02:21:27 PM) kirkland: also, note that there's a reboot-required icon that would popup if a system updated required
(02:21:30 PM) kirkland: a reboot
(02:21:38 PM) kirkland: this would look like this (@)
(02:21:50 PM) kirkland: so now I'm going to apply these, and refresh my profile
(02:22:23 PM) kirkland: (this operation apparently takes a minute when there's 44 of you connected!)
(02:22:37 PM) kirkland: okay, now we can see that this system has been up for 2 hours and 32 minutes
(02:22:49 PM) kirkland: and my current bill to ec2 is $0.31 :-)
(02:22:58 PM) kirkland: money well spent, sabfl ;-)
(02:23:03 PM) kirkland: sabdfl, rather
(02:23:22 PM) kirkland: there's a few more options here, that i'm going to skip
(02:23:26 PM) kirkland: but the last one is interesting
(02:23:32 PM) kirkland: "Install screen by default at login"
(02:23:41 PM) kirkland: this is what I did with your guest account before you logged in
(02:23:55 PM) kirkland: this is why you jumped immediately into this screen session, when you logged in
(02:24:05 PM) kirkland: in fact, i enable this feature on *all* of my server
(02:24:23 PM) kirkland: jcastro: okay, i'm going to pause now for questions
(02:24:32 PM) kirkland: jcastro: you want to paste them here?
(02:24:34 PM) jcastro: ok
(02:24:36 PM) jcastro: yep, one sec
(02:24:49 PM) jcastro: QUESTION: Why doesn't the marketing department highlight supercool features like screen profiles for the server? Instead they say it would "further improve infrastructure management efficiencies" (buzzword bingo)
(02:25:09 PM) kirkland: jcastro: hah :-)
(02:25:19 PM) kirkland: jcastro: well, i accept the compliment, screen-profiles is awesome!
(02:25:33 PM) kirkland: jcastro: and i hope that you, the community, can help spread the good word
(02:25:48 PM) kirkland: jcastro: i'm hoping for karmic that screen-profiles is used ubiquitously on the sever
(02:25:55 PM) jcastro: <peplin> QUESTION: What's the proper way to modify screen-profiles settings? I have a screenrc that I would like to use in combination with the profiles, but there doesn't seem to be an easy way to get rid of the top hardstatus line.
(02:26:06 PM) kirkland: jcastro: that it becomes as important to the Ubuntu server as Gnome/KDE are to Ubuntu/Kubuntu
(02:26:43 PM) kirkland: peplin: well, screen-profiles sources your local ~/.screenrc last
(02:27:11 PM) kirkland: peplin: does it not accept overrides of that hardstatus line?
(02:27:38 PM) peplin: I can override the bottom hardstatus, but seemingly not the line above that
(02:27:41 PM) kirkland: peplin: if not, i can add a feature to screen-profiles that would allow you to disable/enable the window list and/or the status line\
(02:28:03 PM) kirkland: peplin: please open a bug ;-) i'll try to get that fixed for karmic
(02:28:04 PM) jcastro: <qense> QUESTION: Some programs also use the F* keys. How does that work? Currently screen catches them first and they aren't processed by the program
(02:28:45 PM) kirkland: qense: correct. you can disable screen-profiles keybindings
(02:28:54 PM) kirkland: everyone, back over to the shared screen session
(02:29:10 PM) kirkland: see "Change keybinding set"
(02:29:30 PM) kirkland: you can accept the 'common' set of keybindings (f-keys), or take none of them
(02:29:50 PM) kirkland: in which case you'd need to use the bindings that screen provides, rather than our shortcuts
(02:29:55 PM) kirkland: note that i did *not* use:
(02:30:15 PM) kirkland: f1 -> help in gnome terminal, f10 -> menu, or f11 -> fullscreen
(02:30:24 PM) kirkland: so as not to conflict with gnome-terminal
(02:30:54 PM) kirkland: jcastro: any more q's?
(02:30:58 PM) jcastro: https://launchpad.net/~screen-profiles/+archive/ppa
(02:31:07 PM) kirkland: jcastro: ah, great point ....
(02:31:09 PM) jcastro: I wanted to mention where people can get it for older versions of Ubuntu
(02:31:23 PM) jcastro: <qense> QUESTION: So actually GNU Screen is a shell wrapper giving you tabs and status indicators?
(02:31:27 PM) kirkland: right, so screen-profiles is packaged and in main for Jaunty
(02:31:51 PM) kirkland: however, i am providing packages for Hardy and Intrepid machines in a PPA
(02:32:01 PM) kirkland: I will, perhaps, try to get it into the backports archive
(02:32:13 PM) kirkland: but for now, you can use the the PPA very well
(02:32:28 PM) kirkland: qense: sort of ...
(02:32:36 PM) kirkland: qense: GNU screen is a "window manager"
(02:32:48 PM) kirkland: qense: that has a 50+ page manpage
(02:32:56 PM) kirkland: qense: really flexible, but complicated to setup
...