WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Trying to have xscreensaver - for a digital picture frame  (Read 4629 times)

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12762
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #15 on: November 27, 2025, 09:55:06 PM »
Hi Richard Cranium
... also , back to my last question about configuring xscreensaver to auto start..., looking at the install notes in the package manager description is what has me a little confused ...
Do you mean this note:
Code: [Select]
                To start at boot, put the following to
                ~/.X.d/xscreensaver:
                   xscreensaver -nosplash &
When running a GUI, your home directory contains a hidden directory
called  .X.d. The note is telling you to create a file called  xscreensaver
that contains the command:
Code: [Select]
xscreensaver -nosplash &The file name is merely descriptive so you know what it is. You can call
it anything you want. After  .xsession  has started the GUI, it opens any
files it finds in  .X.d  and executes their contents line by line.

Having said all of that, I don't think  xscreensaver  does what you think
it does. From the  xscreensaver  man page:
Quote
HOW IT WORKS
When it is time to activate the screensaver, a full-screen black window is created on each screen of the display. Each window is
created in such a way that, to any subsequently-created programs, it will appear to be a "virtual root" window. Because of this, any
program which draws on the root window (and which understands virtual roots) can be used as a screensaver. The various graphics
demos are, in fact, just standalone programs that know how to draw on the provided window.
Found here:
https://www.commandlinux.com/man-page/man1/xscreensaver.1.html

So  xscreensaver  is not copying images to the screen. It's launching programs
that know how to draw to the screen, and those programs probably draw animations.

Offline gadget42

  • Hero Member
  • *****
  • Posts: 1036
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #16 on: November 28, 2025, 11:06:41 AM »
xscreensaver background via Jamie Zawinski

https://nieuweinstituut.nl/en/projects/sleep-mode/jamie-zawinski

also see(more generally):

https://en.wikipedia.org/wiki/Jamie_Zawinski

https://www.jwz.org/

edited to add jwz.org
« Last Edit: November 28, 2025, 11:08:34 AM by gadget42 »
** WARNING: connection is not using a post-quantum kex exchange algorithm.
** This session may be vulnerable to "store now, decrypt later" attacks.
** The server may need to be upgraded. See https://openssh.com/pq.html
** Also see: post quantum internet 2025 - https://blog.cloudflare.com/pq-2025/

Offline Richard Cranium

  • Jr. Member
  • **
  • Posts: 55
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #17 on: December 02, 2025, 09:21:06 PM »
Hi Richard Cranium
... also , back to my last question about configuring xscreensaver to auto start..., looking at the install notes in the package manager description is what has me a little confused ...
Do you mean this note:
Code: [Select]
                To start at boot, put the following to
                ~/.X.d/xscreensaver:
                   xscreensaver -nosplash &
When running a GUI, your home directory contains a hidden directory
called  .X.d. The note is telling you to create a file called  xscreensaver
that contains the command:
Code: [Select]
xscreensaver -nosplash &The file name is merely descriptive so you know what it is. You can call
it anything you want. After  .xsession  has started the GUI, it opens any
files it finds in  .X.d  and executes their contents line by line.

Having said all of that, I don't think  xscreensaver  does what you think
it does. From the  xscreensaver  man page:
Quote
HOW IT WORKS
When it is time to activate the screensaver, a full-screen black window is created on each screen of the display. Each window is
created in such a way that, to any subsequently-created programs, it will appear to be a "virtual root" window. Because of this, any
program which draws on the root window (and which understands virtual roots) can be used as a screensaver. The various graphics
demos are, in fact, just standalone programs that know how to draw on the provided window.
Found here:
https://www.commandlinux.com/man-page/man1/xscreensaver.1.html

So  xscreensaver  is not copying images to the screen. It's launching programs
that know how to draw to the screen, and those programs probably draw animations.

I'm not seeing this... I've installed spacefm as a file manager .. but i'm not seeing ... 
Code: [Select]
a hidden directory
called  .X.d.

EDIT --- Maybe I just did it? , I'll post back soon if it worked..
« Last Edit: December 02, 2025, 09:30:28 PM by Richard Cranium »

Offline Richard Cranium

  • Jr. Member
  • **
  • Posts: 55
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #18 on: December 03, 2025, 09:27:08 PM »
it works  YAY  ;)

Offline Richard Cranium

  • Jr. Member
  • **
  • Posts: 55
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #19 on: April 29, 2026, 04:13:36 PM »
Here a little question , how do I make the slideshow start over after it's run through all the pictures???  I noticed this last night , I left the "picture frame" running and the pictures all cycled through  , but then.......  feh stopped running....

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12762
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #20 on: April 29, 2026, 09:16:37 PM »
Hi Richard Cranium
If you are starting feh like this:
Code: [Select]
feh -r -D 5 -F -Z /home/tc/MyPictures/*change it to this:
Code: [Select]
while true; do feh -r -D 5 -F -Z /home/tc/MyPictures/*; done &Any time feh exits, it will automatically restart.

I also read somewhere that feh will exit if it encounters a problem
with an image.

Offline Richard Cranium

  • Jr. Member
  • **
  • Posts: 55
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #21 on: April 30, 2026, 12:46:35 PM »
Hi Richard Cranium

Code: [Select]
while true; do feh -r -D 5 -F -Z /home/tc/MyPictures/*; done &Any time feh exits, it will automatically restart.

I also read somewhere that feh will exit if it encounters a problem
with an image.

Well , Here's the funny thing about that ......  I Did actually try it that way and almost screwed myself in the process (sorta) because I could press "Q" to make it stop , but then couldn't get it to stay "off" long lond enough to make any real changes or anything ., had a heck of a time changing the command back to :   
Code: [Select]
feh -r -D 5 -F -Z /[color=red]mnt/sda1/pics[/color]/*
That was the other issue I ran into , I tried to put the pictures in /home/tc/MyPictures/ and quickly discovered I had little-to-noi space to do so.. It's an 8GB sd card and I had only around 1GB of space to work with , so I put everything in sda1 and linked to that...

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12762
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #22 on: April 30, 2026, 04:24:31 PM »
Hi Richard Cranium
Then try it this way. Create a file called StartFeh.sh containing:
Code: [Select]
#!/bin/sh
while true
do
    feh -r -D 5 -F -Z /[color=red]mnt/sda1/pics[/color]/*
done
Place it in your  /home/tc/.local/bin  directory.
Make it executable:
Code: [Select]
chmod 775 .local/bin/StartFeh.sh
Then start it like this:
Code: [Select]
StartFeh.sh &
To stop it, run this in a terminal:
Code: [Select]
tc@E310:~$ ps aux | grep StartFeh.sh
tc       24084  0.2  0.0   3072  1404 pts/15   S    16:18   0:00 /bin/sh /home/tc/.local/bin/StartFeh.sh
tc       24110  0.0  0.0   1704   324 pts/15   S+   16:19   0:00 grep StartFeh.sh
tc@E310:~$ sudo kill 24084
[1]+  Terminated                 StartFeh.sh
tc@E310:~$

If you can't open a terminal, hit  Ctrl-Alt-F1  to get into the console.
Then enter the above commands to kill StartFeh.sh.
Then hit  Ctrl-Alt-F2  to get back to the GUI.

Offline Richard Cranium

  • Jr. Member
  • **
  • Posts: 55
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #23 on: May 01, 2026, 03:06:14 PM »
Hi Richard Cranium
Then try it this way. Create a file called StartFeh.sh containing:
Code: [Select]
#!/bin/sh
while true
do
    feh -r -D 5 -F -Z /[color=red]mnt/sda1/pics[/color]/*
done
Place it in your  /home/tc/.local/bin  directory.
Make it executable:
Code: [Select]
chmod 775 .local/bin/StartFeh.sh
Then start it like this:
Code: [Select]
StartFeh.sh &
To stop it, run this in a terminal:
Code: [Select]
tc@E310:~$ ps aux | grep StartFeh.sh
tc       24084  0.2  0.0   3072  1404 pts/15   S    16:18   0:00 /bin/sh /home/tc/.local/bin/StartFeh.sh
tc       24110  0.0  0.0   1704   324 pts/15   S+   16:19   0:00 grep StartFeh.sh
tc@E310:~$ sudo kill 24084
[1]+  Terminated                 StartFeh.sh
tc@E310:~$

If you can't open a terminal, hit  Ctrl-Alt-F1  to get into the console.
Then enter the above commands to kill StartFeh.sh.
Then hit  Ctrl-Alt-F2  to get back to the GUI.

That's only if Imma leave the keyboard and trackpad attached to the "picture frame" , which I am not ... lol

Quote
mnt/sda1/pics/*
  I just noticed that , I forgot to remove the color modifier from my last post and you missed it too .. LOL

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 12762
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #24 on: May 01, 2026, 09:03:44 PM »
Hi Richard Cranium
That's only if Imma leave the keyboard and trackpad attached to the "picture frame" , which I am not ... lol ...
Well you mentioned a keyboard and trying to stop it here:
... Well , Here's the funny thing about that ......  I Did actually try it that way and almost screwed myself in the process (sorta) because I could press "Q" to make it stop , but then couldn't get it to stay "off" long lond enough to make any real changes or anything ., had a heck of a time changing the command back to ...
So that's what I responded to. By placing it inside a script, killing the script
lets you stop it if you need to.


Quote
... I just noticed that , I forgot to remove the color modifier from my last post and you missed it too .. LOL
That's because modifiers serve no purpose inside code tags, they get ignored.

Offline Richard Cranium

  • Jr. Member
  • **
  • Posts: 55
Re: Trying to have xscreensaver - for a digital picture frame
« Reply #25 on: May 02, 2026, 03:00:58 PM »

Well you mentioned a keyboard and trying to stop it here:

Oh I know , But the keyboard won't remain attached once this thing is in it's final form , so relying on it to enter key presses won't be an option..


Quote
So that's what I responded to. By placing it inside a script, killing the script
lets you stop it if you need to.
oh I know  8)

Quote
That's because modifiers serve no purpose inside code tags, they get ignored.

Yeah I noticed that when previewing my post haha