Impressum:

Clemens Bruschek
Dep. of Mathematics
University of Vienna
Nordbergstr. 15
1090 Vienna, Austria

email:
clemens.bruschek
ATT
univie.ac.at

Linux OS

The following howtos have been used under Fedora Werewolf and Ubuntu Gutsy Gibbon/Hardy Heron. Some of them may not be applicable to more resent versions of the programs. Feel free to contact me in case you find mistakes or have useful advice!

Xterm Settings

  1. Background/foreground color: use xterm -bg white -fg black to start xterm with black writing and white background. To permanently change this edit the .bashrc in your home directory and add the line alias xterm='xterm -bg white -fg black'.

    Problem: Assume Gnome+Ubuntu If you change your local .bashrc file, then the changes will have effect if entered in an xterm, but not if entered in ALT-F2 command line. Even changing the /etc/bash.bashrc file and add everything there doesn't have desired effect.


  2. Color highlighting (e.g. for directories): use ls --color=auto or again for permanent change add the following line to .bashrc: alias ls='ls --color=auto'.


  3. Changing the PATH variable: First find out PATH by echo $PATH. To change the PATH variable just enter export PATH=$PATH:(directory you want to add) to have permanent change; put this line in your local/global bashrc file (see above).


  4. Xterm background color for GNOME quick launch: under gnome you can enter the quick launch menu by Alt-F2. Issuing the command "xterm" will provide you under ubuntu gutsy gibbon with an xterm with black background and white font-color. To change this it is not enough to put an alias xterm= ... into the .bashrc file - which sounds quite reasonable ;) - but you have to write
    XTerm*background: #FFFFFF
    XTerm*foreground: #000000
    XTerm*font: 9x15
    XTerm*geometry: 80x30
    in your local .Xdefaults file. Of course the above thus a bit more, which is changing font size and geometry of the xterm window, too.

CUPS

  1. Setting the default printer: Do this by

    lpoptions -d $printername$

  2. Get Info on the printer queue, by

    lpq -P$printername$

    especially you will find out about the print job number.

  3. Remove some printjob by

    lprm -P$printername$ $jobnumber$

  4. Sometimes if you logout during a print job the sytem hangs up and the printer will be disabled. first remove the print job queue and then enable the printer by

    cupsenable $printername$

    (you need to be root).

  5. Printing .ps-file with duplex option and 2 pages per pageside:

    lp -d cousteau -o sides=two-sided-short-edge -o number-up=2 FILENAME.ps

Colorless Gnome Panel

You can make the gnome-panel invisible - and the fonts white - doing the following: create an new/edit your current .gtkrc-2.0 file by adding the following lines:

style "panel"
{
fg[NORMAL] = "#ffffff"
# fg[PRELIGHT] = "#000000"
# fg[ACTIVE] = "#ffffff"
# fg[SELECTED] = "#000000"
# fg[INSENSITIVE] = "#8A857C"
# bg[NORMAL] = "#000000"
# bg[PRELIGHT] = "#dfdfdf"
# bg[ACTIVE] = "#D0D0D0"
# bg[SELECTED] = "#D8BB75"
# bg[INSENSITIVE] = "#EFEFEF"
# base[NORMAL] = "#ffffff"
# base[PRELIGHT] = "#EFEFEF"
# base[ACTIVE] = "#D0D0D0"
# base[SELECTED] = "#DAB566"
# base[INSENSITIVE] = "#E8E8E8"
# text[NORMAL] = "#161616"
# text[PRELIGHT] = "#000000"
# text[ACTIVE] = "#000000"
# text[SELECTED] = "#ffffff"
# text[INSENSITIVE] = "#8A857C"
} widget "*PanelWidget*" style "panel"
widget "*PanelApplet*" style "panel"
class "*Panel*" style "panel"
widget_class "*Mail*" style "panel"
class "*notif*" style "panel"
class "*Notif*" style "panel"
class "*Tray*" style "panel"
class "*tray*" style "panel"


The color is defined in: fg[NORMAL] = "#ffffff". Then save and reboot the panel by typing killall gnome-panel in your command line!

rdate

An easy way to set the correct time if internet-connection is available via rdate . For central europe:
rdate time.fu-berlin.de




Sound

An easy way to stop the annoying system beep under Linux, e.g. Ubuntu, is by modifying the file /etc/modprobe.d/blacklist with the code line:

blacklist pcspkr




Thinkpad and Linux

  1. Configure special "goback" and "goforward" keys above the left-right arrows.
    Add these two lines to ~/.Xmodmap:

    keycode 234 = F19
    keycode 233 = F20

    then reload it: xmodmap ~/.Xmodmap . Find your browser.jar (somewhere in /usr/share/firefox/chrome/ ) and unzip it by unzip browser.jar. Then view content/browser/browser.xul and immediately after

    <key id="goBackKb" keycode="VK_LEFT"
    command="Browser:Back" modifiers="alt"/>
    <key id="goForwardKb" keycode="VK_RIGHT"
    command="Browser:Forward" modifiers="alt"/>

    we add
    <key id="goBackKb" keycode="VK_F19"
    command="Browser:Back"/>
    <key id="goForwardKb" keycode="VK_F20"
    command="Browser:Forward"/>

    we repackage the jar file by zip -rD0 browser.jar content/browser/. DONE!

Configure wlan via the shell

This is a way to connect to a wireless network via the shell using iwconfig and dhclient. You can scan for existing networks with iwlist scan. If you have chosen one, then

iwconfig eth1 essid $network

dhclient eth1


Here we assume that eth1 ist the wireless networking device.

Showing X Events

Use the shell command xev to start a program showing code for all X events you trigger. This is especially useful when trying to find out your key configuration. For the keys there would be another possibility with shokey but it is not standard and might not work under a running X.


Change Keybindings

In order to get Umlaute on US-keyboard-layout you may proceed by changing your current .Xmodmap file (to be found in your home directory). Put in the following:

keycode 134 = Mode_switch
keycode 38 = a A adiaeresis Adiaeresis
keycode 30 = u U udiaeresis Udiaeresis
keycode 32 = o O odiaeresis Odiaeresis
keycode 39 = s S ssharp


To find out the keycode of your keys use xev. You apply the changes by xmodmap .Xmodmap.


Setting Screen-Resolution via the shell

Use the command xrandr to determine and manipulate screen resolution and more via the shell. For the details see the man-pages. The current resolution and the other possible settings can be determined by xrandr --prop. The output will end with a list of possible resolution settings. Internally these are indexed starting with 0. The current resolution is marked with a "*". You can set the resolution either by entering xrandr -s $indexofresolution or xrandr -s $widthxheight.



Applications

conky

conky is a useful, easily configurable and lightweight system-monitoring tool. Install it under ubuntu via the repositories. Its appearance is controlled via the .conkyrc file in your home directory. My current configuration can be found here. For your changes to immediately take effect type

killall -SIGUSR1 conky

in your shell. Depending on how much functionality you integrate the more memory it requires. It is also possible to integrate audacious playlists etc. in conky, but this needs extra compiling. See conky home for more info.



convert

Here is a small script to reduce quality for .jpg files using convert: machskleiner.sh





Editing Pdf's

  • If you want to meld two pdf-files under Linux, there are several commandline tools. One is pdfjoin, which can be found in the pdfjam package of ubuntus multiverse. To join two pdfs just hit the following into your command line:

    pdfjoin file1.pdf file2.pdf

    This adds the second file to the end of the first one. The output will usually have the name file2-joined.pdf.

  • Another great tool ist pdftk. Use

    pdftk myDocument.pdf cat 1-9 26-end output removedPages.pdf

    To remove pages 10-25 from myDocument.pdf and call the new file removedPages.pdf. Joining pdf-files is easy with pdftk, too:

    pdftk file1.pdf file2.pdf cat output newFile.pdf

    For more info on pdftk see the man pages or http://www.linux.com/archive/feature/53701.


K3b Bug

Troubles with k3b BUG. If you get the error message :-( unable to anonymously mmap 33554432: Resource temporarily unavailable, then do the following: Exit k3b and enter the following into shell: ulimit -l unlimited or go to k3b config section and give as parameter for growisofs: use-the-force-luke=bufsize:16m. Note: The bufsize shall not exceed 64m for stability reasons.



Kile/KDvi Settings

  1. How to configure Kile/KDvi for inverse search: Change in kile: /settings/configure kile/tools/build/latex the latex options by adding "-src" to the latex command, i.e. you will have something like: -interaction=nonstopmode -src '%source' in the option context menu. Next configure Kdvi: Go to /settings/configure kdvi/dvi specials/ and then configure to use "kile" as editor.

  2. How to configure spell checking in kile: Install kcontrol and aspell. Change aspell as the default spell checker in kcontrol. This has to be done as non - root !!! then go to kile/tools/spell ... / and choose aspell for client and the language you want.


  3. Autocompletion in Kile: Switch between autocompletion and no-autocompletion in Kile by using Strg-Space.


LateX

  • \colon: use this tag instead of an ordinary ": " in formulas. The distance between character and the colon is then much smaller.
  • Highlighting text:
    \usepackage{color}

    \noindent \colorbox{yellow}{\parbox{1.\textwidth}{\noindent blablabla }}





openbox

openbox is a highly configurable and lightweight window-manager. The personal config-files can be found in ~/.config/openbox/. On one hand there is the autostart.sh file. Here - as the name already tells us - we specify what actions have to be taken when openbox is started. My current config file is autostart.sh.

# Run the system-wide support stuff
. $GLOBALAUTOSTART
# Programs that will run after Openbox has started
(sleep 2 && conky && tablaunch --dock bottom --no_caption --pulldown 0 -x 500 -y 20 &)
(sleep 3 && oclock -transparent -fg red -bd green &)
# (sleep 2 && feh --bg-scale ~/.config/openbox/background/gnomy1.png &)
(sleep 2 && xpad &)

As you can see I run conky, tablaunch, oclock, feh and xpad at startup. conky and tablaunch are explained on this page. oclock is a nice X-clock, which can be easiyl adapted to personal taste. On my desktop it appears just as a green circle with red hands due to the settings in the openbox rc.xml file. At the end of the file you will find (including some instructions)

<application name="oclock">
<decor>no</decor>
<position>
<x>-10</x>
<y>10 </y>
</position>
<desktop>all </desktop>
<layer>above </layer>
</application>

No decor means that we have no window-bar and window-background. By the x,y we specify the position of the window on the desktop. The all option let the clock appear on all desktops, lieing over all other windows by above. Be careful with the autostart.sh: forgetting one of the "&" causes a hangup of openbox.
My current quicklauncher is gmrun.

Note: Currently openbox is showing just one desktop (although specified otherwise) when started via gdm. The reason seems to lie with some metacity-issue. It can be fixed though by adding the following line just before starting openbox in your openbox-session file: xprop -root -remove _NET_NUMBER_OF_DESKTOPS .

tablaunch

tablaunch is a small easily configurable launchbar. If you use icons it looks a bit like the MacOS Dock. tablaunch is configured via the .tablaunch file in your home directory. My current config file is tablaunch config file . It uses several icons stored in .icons in the home directory. Icons can be easily obtained in various resolutions on the web.

Other Howtos

Organize Life/Work

The following consists mainly of short notes taken from David Allen's "Getting Things Done" and personal comments to this text.

Set up a filing system

Set up a system to file everything you will need at the moment or in the future. Do it in the A-Z style - that is simple. Put the filing system as close to your workplace as possible. I use simple 3-wing folders. If some topic fills to much space one can think of putting it in an external resource. Try to limit the amount of such external resources. Try to purge it every now and then (half a year/ year? - put a trigger in your calendar for purging!

Gathering

Set up an IN-box (at home and at work). We will put everything into IN that comes to our minds, mail box, ... . Note that it might be necessary/usefull to have an IN-box in your mail client. Try to keep the number of different IN-boxes (electronically or non-electr.) at a minimum.


Put everything into IN (this will be a long process if you do it the first time). Skim through everything: pockets, bags, desk, drawers, ... . Also try to do the mental sweep, too. Just write down - thinking comes later.


Empty IN

Empty the IN-box according to the following procedure

IN → What is it? → Actionable?

→ NO: trash it, incubate or file it (put into ref system).
→ YES: then

  • DO IT: if can be done within < 2 min
  • Defer it: put it into calendar, working list, ...
  • Delegate it: if you cannot do it
View the item in your IN-box and decide whether it will be a project (i.e. involve several steps/actions until finished) or a single task. In the first case set up a project list/folder. In both cases decide what your next physical action is. Some tips:
  • review your project lists regularly
  • when defering/delegating it is sometimes useful to have the date at hand (with emails that is for free).

Processing

Keep track of the following lists:

  • Next Action lists
  • Calendar Info
  • Waiting for lists
  • Project lists
  • Project support material/reference material
  • Someday/Maybe list
Try not to mix these categories and don't put into your calendar " what you want to do". Use the calendar just for appointments and deadlines etc. .

Here is a list of possible "Next Action List's":

  • Errands
  • Work
  • Buy
  • Email
  • Mail
  • Pay
  • Phone
  • Meetings
  • At PC
  • Read/Review
That list should be pretty self-explaining with the exception: "Errands" - here I put everything which does not fit into any other category (it does not make sense to set up its own action list for a category you use rarely); "Pay" - here I write up all the bills I have to pay, respectively every kind of transaction which has to be done; "Meetings" - this is a list of upcoming meetings and topics/questions which should be dealt with.
It might be useful to create a list for actions which can be done just at one place.
Note that the "Work" list has a supplementary list in my organizer running under "General Math Questions". It contains questions I have on math stuff I have learned or just heard about - the content is not vital to my work, but still nags at my mind from now and then.
I also create kind of "memorize-that-list". For example there is list for actions related to me driving to my parents.

Project Lists

Set up a general project list - probably subdivided into rather big pieces like "Work" or "Home". This main project list is kind of inbox for all the tasks which define projects; in the sense of D. Allen this means that several actions are necessary to complete the task. It is not necessary that this project list is highly structured. In fact it is just a please where to collect all projects for later review. You should review this file at least once a week.
For each project which is currently under work organize its own folder with the most important reference material. Moreover, keep two sheets with the following info running:

  • Ideas: Here we collect ideas which may contribute to a "solution" of your project.
  • To Do/ Next Action: Write up what has to be done for a progress on the project. Try to formulate your next action as precise as possible (e.g., compute what in which example; look up the notion of blabla in the mighty powerful book of blubb.
Sometimes it might be useful to have project lists in your email account. Try to review these specific project lists as often as possible - once a week is the absolute minimum. Sweep the folders regularly from old stuff and think about refiling of a finished project. Never use a project folder as a reminder!

Calendar

Use your calendar for the following:

  • Event manager: write up all your upcoming events/meetings. Keep the data - might be necessary to know about this later on.
  • Trigger: Put trigger into your calendar which remind you of some actions, e.g., 2 months before Christmas you write " start buying presents".
  • Fill in days of decision (for presonal decisions).

Checklists/Tickler File

Checklists are a general tool and undeniable useful. Try to keep order in your checklists and rather split them into smaller lists (one for each topic/action) - so keep the small checklists just a short time.
A tickler file is a filing system with register cards for each month and 31 subregisters for the days of the months. Here you put reminders/objects and see/use/deliver them on the special day.

Reviewing Process

The motto of this section: "See what you need to see!" and "Review/look at your lists as much as it is necessary for you to feel comfortable!"

First of all, keep your organizer as up to date as possible - otherwise you don't trust it. Some more hints:

  • Review the list before the situation happens for which it was created: If meeting with your boss, have a look at your meetings list; if going to the supermarket look at your to-buy list (and probably update them!).
  • Look at your Calendar! Often!!!
  • Look at your next actions lists! Often!!!
Note: Just because you are looking at your lists this does not mean that you have to do anything of the tasks written up there. But you know what you are not doing!

Weekly Review

Best time: Friday at the end of/after work. You check when everything is still fresh in your mind and you will have a much more relaxed weekend (P/PC balance).
  1. Empty all Inboxes, bags, folders with possible new material.
  2. Process these items according to the "Processing Checklist". Write your next action lists, save events to your calendar etc. .
  3. "Empty your brain": Get rid of all the ideas that you have concering everything, write them up and if you really feel emtpy, process them accordingly.
  4. Go through all the appointments/events on your calendar and write up any consequences, pieces of info or ideas (if you have not already done so.
  5. Look at upcoming events and decide if they need action (if yes put them in the next action lists).
  6. Review all your specific project lists: any progress, outcome, ... . Formulate at least one next action for each of your projects!!!
  7. Review next-action lists
  8. Review waiting-for list
  9. Review relevant checklists
  10. Review someday-maybe lists: is there anything which should get status "active"?
  11. Review support files for your projects.
At least once a month you should take you some time for the "large-scale review process".

Making Choices

The following gives you some guidelines on which you could base some of your decisions. However, first rule is " Trust your guts!".

Horse sense model

  1. Context: What can you do with the tools you have available? If you are not at a computer, you cannot write any emails. As important as they might be you just cannot do it without a pc (and internet connection). So don't worry about them - it would be waste of energy (but hava them on your next action list for email/internet).
  2. Time available: How much time do I have and what tasks can be done/started in that amount of time?
  3. Energy available: It is possible to increase your energy by switching context but not for long and not too much. Always have something to do in times you are too tired for "real" work.
  4. Priority: In what is left: What is most important?
Some general nonsense in this context: Interruptions are unavoidable in everyday work. So learn to "dance"e;.

3fold model
  • Doing predefined work
  • Doing work as it starts up
  • Define your work
6-level model
  • 5er drop: Life.
  • 4er drop: 3-5 year decisions.
  • 3er drop: 1-2 year decisions.
  • 2er drop: Areas of responsibility (family, work, yourself,...). Make "areas of focus" lists (career, contacts, knowledge, papers, teaching, ...).
  • 1er drop: Current projects. Keep your lists up to date.
  • Floater: Current activities.
Every task on a level should be compatible/work for your higher level aims. Start working from bottom to top, but don't stop halfway and keep them in balance! From time to time ask yourself the following questions: What are my long-term goals and objectives and what do I need to have in place to fulfill them? Do I really want all this? What long-term goals and objectives have I set for myself, what projects do I have to do to make them happen? What other things are happening that could affect my options about what I'm doing?

Project Planing

  • Brainstorming: put ideas in mind maps ...
  • Organizing: organize support material ...
  • Meetings: set up necessary meetings.
  • Gather Information:
D. Allen: "Great tools can trigger great ideas!"

Howto Publish

Here is list of things you should consider when publishing a (mathematical) paper:

  1. Look at the "Backlog of Mathematics Research Journals" in the AMS Notices. It gives information on some journals and the time it requires to have your manuscript reviewed, the time between submission and publication and so on.
  2. Read Higham's book "Handbook of Writing for the Mathematical Sciences"
  3. Search for fitting journals on MathSciNet or Zentralblatt. View the "Aim & Scope" part of the journal.
  4. Look at the editorial of a journal-candidate: is there someone working in a field related to the article? Do you know someone of the editors?
  5. Old-New: older journals give more reputation and are more "stable" i.e. might not dissappear that quickly (can be an advantage for the author).
  6. Try to shorten and simplify theorems, lemmata, props,... .
  7. Mark off those errors you've corrected on the prints (later you know you already corrected them)
  8. Try to get the paper out as quick as possible.
  9. Ask experts early enough on how valuable the output of the paper might be.