avoiding eye strain » linux magazine

Upload: ucuplup

Post on 07-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    1/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    http://www.linux-magazine.com/Online/Features/Avoiding-Eye-Strain 1/12

    Avoiding Eye Strain » Linux Magazine

    Color Temperature Tools

    By

    Federico Kereki

    Do you have problems getting to sleep after a late night computer session? Does the monitor 

    brightness hurt your eyes? Several Linux tools are available that could help with these problems.

    Most people are at least somewhat familiar with the notion of the circadian rhythm, an

    approximately 24-hour cycle of biological processes in human bodies. (The word “circadian”

    comes from Latin circa dies meaning “about a day.”) Practically every organism on Earth follows

    such a cycle, although not always in the same way; for example, many humans work during the

    day and sleep at night, whereas nocturnal animals sleep during the day and forage at night. The

    principle remains: Activities of all animals follow such cycles and have been doing so for 

    hundreds of thousands of years.

    The human body falls into this cycle by following external cues, called “zeitgebers” (from

    German zeit   meaning “time” and geben meaning “to give”); the main zeitgeber is light. Most

    animals evolved being exposed to different light conditions in the morning, during the day, and atnight.

    Humans are diurnal animals; thus, our bodies “understand” that bright white light means “be

    alert, move around, do things,” whereas more reddish, less intense light means “slow down,

    seek shelter, go to sleep.” This isn’t a cultural thing, but rather a behavior brought forward by

    evolutionary common sense, as favored by natural selection: Humans are not well-equipped with

    night vision, so wandering around at night is an easy way to become dinner!

    On the other hand, humans are quite adept at messing with nature, and man-made lights  can

    skew this natural cycle, disturbing your sleep and provoking eyesight problems. For example,

    your body might respond to the bright, white/bluish light from your monitor or TV set as if it were

    daylight, ramping up for action instead of preparing for rest. Reading by candlelight, lamplight, or 

    firelight is not as disruptive because you are getting a yellowish/reddish light that matches the

    evening, so your body prepares to sleep.

    Unless you decide to stop using computers and TVs late in the day, you’ll have to find some way

    to help your body adjust. Fortunately, several tools can be of service. These tools do their job byslightly changing the tint and brightness of your monitor screen, so your body gets the kind of 

    http://stereopsis.com/flux/research.html

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    2/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    http://www.linux-magazine.com/Online/Features/Avoiding-Eye-Strain 2/12

    light it would expect given the time of the day. Of course, these tools aren’t a panacea, and if you

    don’t get enough sleep, you can still suffer from negative side effects.

    F.lux – A Flexible Option

    The first tool I’ll consider is f.lux. It is available for Linux as well as Windows and Mac computers,

    including iPhones and iPads, so it’s quite likely you’ll be able to use it. The latest version is dated

    July 2010, but I tested it on an Ubuntu 12.04 machine, and it worked fine.

    F.lux works by dynamically changing the screen color – from cool white during the day to a warm

    yellowish tone at night. To see the effect more clearly, you can try changing the screen

    background from “Ubuntu” (the standard brown/purple design) to “London Eye from Beneath,”

    which is more white/gray. Figure 1 shows Ubuntu’s standard, unmodified look.

    Installation of f.lux is simple (Listing 1), and to set it up, all you have to do is specify your latitude

    and longitude.

    Listing 1: Installing f.lux from a PPA

    sudo su

    add-apt-repository ppa:kilian/f.lux

    apt-get updateapt-get install fluxgui

    exit

    (Your ZIP code is a valid alternative if you are in the United States.) The first time you run fluxgui 

    (Figure 2), it will ask for these parameters.

    http://kilianvalkhof.com/2010/linux/flux-for-ubuntu/http://stereopsis.com/flux/

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    3/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    http://www.linux-magazine.com/Online/Features/Avoiding-Eye-Strain 3/12

    If you don’t know your coordinates, click on Find your latitude and longitude  and a browser 

    window will open to find the information through Google Maps (Figure 3).

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    4/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    http://www.linux-magazine.com/Online/Features/Avoiding-Eye-Strain 4/12

    Enter your current address, press Go! , and your (possibly only approximate) location will be

    shown on a map. Don’t worry if it’s not your exact position – all f.lux needs to know is the local

    time at your city. Copy the coordinates shown at the bottom of the screen and paste them into

    the f.lux GUI window – note that latitude and longitude go into separate text boxes – and you’re

    set (Figure 4)!

    You might want to adjust some other settings, too. I’d suggest checking Autostart f.lux indicator 

    applet , so it will run automatically. Also, you must pick the desired kind of lighting you want at

    night. Your options are Tungsten, Halogen  (the default), Fluorescent , and Sunlight . You’llprobably want one of the two first options. Throughout the day, f.lux will progressively adjust the

    screen lighting, from maximum brightness (around noon) to your selected value (at night). The

    change is gradual, but by comparing Figures 1 and 5, you can see the difference; this

    screenshot was taken around midnight.

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    5/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    http://www.linux-magazine.com/Online/Features/Avoiding-Eye-Strain 5/12

    See the box “What Are Color Temperatures?” for more specific information.

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    6/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    http://www.linux-magazine.com/Online/Features/Avoiding-Eye-Strain 6/12

    You can also run the underlying xflux  command (which controls the lighting) from the command

    line:

    /usr/bin/xflux -l -35 -g -56 -k 2700

    This example sets your coordinates to Montevideo, Uruguay (roughly 35° South, 56° West), and

    the color to 2700K (Listing 2).

    Listing 2: f.lux from the Command Line

    > xflux -l -35 -g -56 -k 2700

    --------

    Welcome to xflux (f.lux for X)

    This will only work if you're running X on console.

    Your location (lat, long) is -35.0, -56.0

    Your night-time color temperature is 2700

    It's night time. Your screen is changing now.

    Going to background: 'kill 15960' to turn off.

    The command-line usage provides a simple way to use f.lux in any Linux system; you could set

    up a simple command (as follows) and make it autostart on login. Note that here the output of 

    the xflux  command is sent to a file ( /tmp/xflux.out ), so you can learn the command’s PID andeventually kill   it if desired – although you could also killall xflux .

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    7/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    http://www.linux-magazine.com/Online/Features/Avoiding-Eye-Strain 7/12

    #!/bin/bash

    xflux -l -35 -g -56 -k 2700 >/tmp/xflux.out

    With all its possibilities, f.lux is still a simple solution, mostly for Ubuntu and derived distributions.

    When you can take advantage of the GUI control, it’s definitely worth a try!

    Redshift – A Command-Line Solution

    Redshift was inspired by f.lux (the author says he wrote it out of dissatisfaction with some

    aspects of the Linux version of f.lux), and its latest version is 1.7, dated July 2011. It was written

    for Linux, but experimental builds are available for Windows. When enabled, Redshift also works

    by periodically changing the screen tint to match the time of day, according to your current

    coordinates. If you want to try out a specific setting, you can run it in “single shot” mode (see the

    -o  and -O parameters in Table 2) and whatever color you pick will remain unchanged, despite

    what the clock says.

     As to installation, the Redshift website offers packages for many distributions (Arch Linux,

    Debian, Fedora, Ubuntu, etc.), and if you look around, you can probably find even more

    repositories. For example, for openSUSE, I used the package search function and found that the

    X11 Utilities repository included it.

    Because I wanted to try a different approach than using a repository, I decided to install Redshift

    in Linux Mint through the command line. Linux Mint is derived from Ubuntu, so the PPA probably

    would have worked, but I wanted to show a different way, so I downloaded packages from the

    Redshift site and then entered the following lines at the command line:

    http://download.opensuse.org/repositories/X11:/Utilities/openSUSE_12.1/http://jonls.dk/redshift/

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    8/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    http://www.linux-magazine.com/Online/Features/Avoiding-Eye-Strain 8/12

    tar zxf redshift_1.7.orig.tar.gz

    cd redshift-1.7

    ./configure

    make

    sudo make install

    If the ./configure step warns you that it needs RANDR or VIDMODE, you can use the package

    manager, search by name for all relevant packages, install them, and try again.

     After having installed the program, type

    redshift -h

    to see all possible parameters (Table 2). Note that the location parameters are mandatory, and if 

    you don’t specify the desired temperatures, they default to 5500K and 3700K for day and night,

    respectively.

    Redshift works directly with color temperatures; I prefer 

    redshift -l -35:-56 -t 5000:3300

    myself, so even at noon I’ll get a somewhat subdued screen (Figure 6), compared with the night

    screen (Figure 7).

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    9/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    http://www.linux-magazine.com/Online/Features/Avoiding-Eye-Strain 9/12

    If you want to try a specific color temperature, you can use something like:

    redshift -O 4000

    Entering redshift -x  restores the screen to normal.

     An indicator is also available; if you enter gtk-redshift   instead of redshift , a small icon showing a

    red or blue lamp will appear in your system tray. By clicking on the lamp, you can enable (red

    lamp) or disable (blue lamp) Redshift. You can also set it to autostart, or you can kill it completely

    using Quit   (Figure 8).

    Redshift works very well from the command line, and its system tray icon provides feedback –

    although not a way to configure it. I have used it with several distributions in which it performed

    quite well, so it’s worth trying out.

    Calise – A Webcam-Aware Option

    Calise is the newcomer, and its latest version is 0.4.0, dated July 2012. It works differently from

    f.lux and Redshift in that it won’t change the screen color. Instead, it adjusts the screen backlightup or down depending on the current lighting, as detected by the webcam (hence its name:

    Calise stands for “Camera Light Sensor”). If you are working in the dark – whatever the time of 

    day – Calise will lower the lighting of your screen, and if you are in a fully lighted ambient, Calise

    will set the screen backlighting to maximum. (Figures 9 and 10).

    http://sourceforge.net/projects/calise/

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    10/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    http://www.linux-magazine.com/Online/Features/Avoiding-Eye-Strain 10/12

    To use Calise, you will obviously need a webcam and a monitor with controllable backlight. If you

    are not sure about the latter item, check to see whether directory /sys/class/backlight  exists and

    that it is not empty; if it is, you’ll probably be able to run Calise. Because of these requirements,

    in my particular case, I can run Calise on my laptop but not on my desktop machines.

    Calise is a Python application, and it can be installed in several distributions such as Arch Linux,

    Ubuntu, Fedora, or openSUSE. Given that the project is in flux right now, you should check the“Installation” page at the Calise wiki, because it’s quite likely that setup instructions will change

    with future releases. Check the Calise website, too; right now, there are three patches that you

    should apply to the 0.4.0 version, and you can find the required commands online.

    Follow the wiki instructions to proceed after installing and patching the source code. You’ll

    probably have to install several packages before attempting to build and install Calise. The

    documentation is clear on that and provides the required commands. Next, change to the source

    directory and run the following commands.

    env python2 setup.py build

    sudo env python2 setup.py install --prefix=/usr

    You might get an error message, such as ERROR: Python module msvcrt not found , but don’t

    worry; “msvcrt” is a Windows module and doesn’t exist in Linux. Again, check the wiki for 

    commands that should be run after   this install. Depending on your distro, you might have to do

    some extra work.

     After a successful installation, you can calibrate Calise by running:

    calise --calibrate

    You can have several named profiles for use at different places; for example, one profile for your 

    workplace in the day and another for your room in the evening. You’ll have to specify the

    backlight directory, then Calise will check that it works and determine how many possible values

    your monitor supports. Calise will then try to determine your coordinates from your IP or let you

    http://calise.sourceforge.net/mediawiki/index.php/Main_Page

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    11/12

  • 8/18/2019 Avoiding Eye Strain » Linux Magazine

    12/12

    3/26/2016 Avoiding Eye Strain » Linux Magazine

    Info