SOLVED: How to install Redshift (eye strain reduction .deb)

Using applications, configuring, problems
Post Reply
Message
Author
akbits69
Posts: 26
Joined: Sat 22 May 2010, 02:21

SOLVED: How to install Redshift (eye strain reduction .deb)

#1 Post by akbits69 »

Could someone give me hand in trying / installing the following?

http://jonls.dk/redshift/
Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night. This program is inspired by f.lux (read here for the reason why I started this project)
.

I have this working great in Ubuntu. Having read that Puppy worked well with deb files, I downloaded the Debian i386 file.

http://packages.debian.org/squeeze/i386 ... t/download

Puppy offered to install it. All seemed to work. I opened up terminal, tried to give it my lat & long (or heck, even use the Copenhagen lat&long, per the example on the Redshift page), but I keep getting -

Code: Select all

redshift: symbol lookup error: redshift: undefined symbol: xcb_randr_get_screen_resources_current


I'm pretty clueless around linux (newbie) so am wondering - is this an issue of puppy not having the requisite files installed (that I need to find / install) or something else? What does the error message mean?

Could someone try this on their system and let me know the outcome? I'm using puppeee, FWIW, which is based on 4.3.1, (AFAIK)
Last edited by akbits69 on Mon 28 Jun 2010, 19:44, edited 1 time in total.

User avatar
RetroTechGuy
Posts: 2947
Joined: Tue 15 Dec 2009, 17:20
Location: USA

Re: How to install Redshift (eye strain reduction .deb)

#2 Post by RetroTechGuy »

akbits69 wrote:Could someone give me hand in trying / installing the following?

http://jonls.dk/redshift/
Redshift adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night. This program is inspired by f.lux (read here for the reason why I started this project)
.

I have this working great in Ubuntu. Having read that Puppy worked well with deb files, I downloaded the Debian i386 file.

http://packages.debian.org/squeeze/i386 ... t/download

Puppy offered to install it. All seemed to work. I opened up terminal, tried to give it my lat & long (or heck, even use the Copenhagen lat&long, per the example on the Redshift page), but I keep getting -

Code: Select all

redshift: symbol lookup error: redshift: undefined symbol: xcb_randr_get_screen_resources_current


I'm pretty clueless around linux (newbie) so am wondering - is this an issue of puppy not having the requisite files installed (that I need to find / install) or something else? What does the error message mean?

Could someone try this on their system and let me know the outcome? I'm using puppeee, FWIW, which is based on 4.3.1, (AFAIK)
Without actually trying it myself, I'm betting that you need some of the associated Debian libraries:

http://packages.debian.org/squeeze/i386/redshift

In particular, I would try installing "libxcb-randr0".

You may also need "libxcb1", but install the first one, run it from the command line, and see it it reports errors -- if so, try the second library.

akbits69
Posts: 26
Joined: Sat 22 May 2010, 02:21

#3 Post by akbits69 »

Hey - that does the trick! Awesome. Thanks RetroTechGuy.

A follow up question for anyone

After I launch the program (via console), Ithe Redshift documentation says I should be able to kill the program by issuing

Code: Select all

killall -USR1 redshift
But that doesn't do anything (and neither does kill redshift)

Code: Select all

# killall redshift
killall: redshift: no process killed
# killall -USR1 redshift
killall: redshift: no process killed
I also tried killing it in Task Manager (Puppeee comes with LXTask 0.1 installed) but that doesn't stop it either (despite highlighting Redshift and chosing 'Kill')

It's not so bad, as Redshift auto adjust according to time of day, but I'd like the ability to stop it when I choose, too. Any ideas?

User avatar
RetroTechGuy
Posts: 2947
Joined: Tue 15 Dec 2009, 17:20
Location: USA

#4 Post by RetroTechGuy »

akbits69 wrote:Hey - that does the trick! Awesome. Thanks RetroTechGuy.

A follow up question for anyone

After I launch the program (via console), Ithe Redshift documentation says I should be able to kill the program by issuing

Code: Select all

killall -USR1 redshift
But that doesn't do anything (and neither does kill redshift)

Code: Select all

# killall redshift
killall: redshift: no process killed
# killall -USR1 redshift
killall: redshift: no process killed
I also tried killing it in Task Manager (Puppeee comes with LXTask 0.1 installed) but that doesn't stop it either (despite highlighting Redshift and chosing 'Kill')

It's not so bad, as Redshift auto adjust according to time of day, but I'd like the ability to stop it when I choose, too. Any ideas?
If you have a console window open:

Code: Select all

ps xua | grep redshift
will probably identify the process number. Then (supposing the process is "12345"):

Code: Select all

kill -9 12345
will kill it off ("-9" means "kill and and quit pussyfooting around!!!")

akbits69
Posts: 26
Joined: Sat 22 May 2010, 02:21

#5 Post by akbits69 »

Hi again.

Nope. Here's the output

Code: Select all

# ps xua | grep redshift
root     12097  0.0  0.1   1956   628 pts/0    S+   04:10   0:00 grep redshift
# kill -9 1956
bash: kill: (1956) - No such process
# kill -9 12097
bash: kill: (12097) - No such process
(I wasn't sure which was the process number, so I tried both)

Interestingly enough, if I leave the original terminal window open, I can kill redshift by pressing Control + C. But, if I close that terminal window, then there seems to be no way to stop it other then dropping out of the GUI (Ctrl Alt Backspace) and typing xwin to re-enter.

The trials and tribulations of a newbie :oops: :lol:

npierce
Posts: 858
Joined: Tue 29 Dec 2009, 01:40

#6 Post by npierce »

akbits69 wrote:

Code: Select all

# ps xua | grep redshift
root     12097  0.0  0.1   1956   628 pts/0    S+   04:10   0:00 grep redshift
. . . (I wasn't sure which was the process number, so I tried both)
The process number was 12097, but in this case the process was grep, which usually finds itself. It looks like redshift was not running. If it was, you would have seen another line of output. What command and options did you start it with? Perhaps you ran redshift in "one-shot mode" with the -o option?

"kill" and "killall" were rather unfortunate choices for the names of those utilities. These can be used to send any signal, not just KILL. In fact, if you don't specify a signal on the command line the signal sent is actually TERM, which might ot might not kill the process. As RetroTechGuy indicated, to "quit pussyfooting around" and actually send the KILL signal, you need the -9.

Anyway, when you run

Code: Select all

killall -USR1 redshift
you are sending the USR1 signal, not the TERM or KILL signal, so you are not killing the process. The USR1 signal does whatever the developer of the application programs it to do. In this case, the documentation says "The color adjustments done by Redshift can be temporarily toggled on and off by sending it the USR1 signal . . ." So redshift keeps running, it just stops making adjustments until you send it the USR1 signal again. Possibly nothing visible happens immediately when you send the signal.

If redshift is actually running, and you really want to kill it, not just stop the adjustments, RetroTechGuy's suggestion should do it.

Post Reply