Thu, 5 Dec 2024 23:23:02 +0000 (UTC) Robert Webb via openSUSE Users <users@lists.opensuse.org> :
On Thu, 5 Dec 2024 08:21:55 -0500, bent fender <slowroller@trixtar.org> wrote:
Thu, 5 Dec 2024 11:27:58 +0100 "Carlos E. R." <robin.listas@telefonica.net> :
On 2024-12-05 03:07, bent fender wrote:
The way it was being called: bash my-xeyes-launch.bsh
Since the first line of your script is '#!/bin/sh', you should use 'sh' instead of 'bash' when calling it as an argument to a shell invocation. That will avoid surprises, although for the script as it is, it won't matter.
You have followed up with news that the double execution problem has gone away with your new graphics board. The software problem still exists, though, ready to bite again.
I believe the script is being called also from some other piece of software besides the above line in your ~/.profile . To enable easy current and future debugging, I suggest replacing the line with:
if [ -e ~/.profile-disable_xeyes_launch ] ;then echo === .profile xeyes disabled: ~/.profile-disable_xeyes_launch >&2 else sh my-xeyes-launch.bsh fi
Sounds like a good idea BUT, would this not nix the second execution which happens to be the one I'd want to keep? In a similar attack I would want to kill the first instance because that is the one that plays out on a lo-res screen later to occupy only the left half of its hi-res successor with its right edge eyeballs now in the middle. So instead of preventing a 2nd execution how would I terminate the first instance using the same srcipt? I can no longer duplicate the jinx however, it always started on the initially lo-res screen with the previous card. That lo-res screen no longer appears at all. I 'could' recover the old image and use the old card but I think I'll pass :-)
Then, when you want to check whether there is something else invoking xeyes:
$ touch ~/.profile-disable_xeyes_launch
Just remove the file to put your .profile functioning back to normal.
I'll try this just to see if the bug is still lurking, as it probably is. It's probably still executing twice but the second iteration just covers the first one since n=both arise on a hi-res screen. I inserted those lines into ~/.profile, logging in produced a 0 byte file ~/.profile-disable_xeyes_launch and the touch command against it returned nothing (what iis it supposed to do?). Then I figured what if I leave the file there, that should prevent the execution of the first xeyes command as well on the next log-in because the file exists. It didn't. This is a litlle over my head.