Re: [PLUG] bash; anacron; wmctrl question
Well, the prize goes to Wes--adding before the wnctrl -k commands worked. Now when the script is launched by anacron the zenity test command minimizes all open windows and presents its dialog window. When that window closes, either due to a user response or time out for that window, the windows are restored. Great. This means that a notification to the user that something went wrong or that some action is required will not be hidden behind open windows. Now that I am assured that the zenity notification method works, I can get rid of the zenity test command at line 14. In summary, I have a script which anacron runs every day. That script checks whether it is time to run a weekly backup. If so, it instructs the user to click "yes" and turn on the backup drive. If "no" or timeout is reached the script closes to be run the next day. If "yes" the backup script is launched. If backup is successful the date file is updated and a notification to turn off the drive is launched. If the backup is not successful for any reason, various error notification windows are launched. If I had put the backup script among the weekly anacron scripts, there would be no way to postpone the backup for one day. Not running the backup would postpone the backup for a full week. Thanks to all who responded with ideas and suggestions. -Denis On Tue, Feb 6, 2018 at 1:27 PM, Denis Heidtmannwrote: > I have a script which runs daily via anacron. I want the script to launch > a zenity window to notify the user, so I issue the command wmctrl -k on > before zenity and wmctrl - off after. This is supposed to minimize all > open windows to ensure that the zenity window will be visible. I have a > test script to show that it works. Both scripts are owned by root, but > editable by me. I have run the test script from a command line login > using sudo, as well as from a Gnome terminal. The test script behaves as > intended--the desktop is cleared of all open windows. I inserted a test > zenity window at the beginning of the real script to verity that when > launched by anacron it would behave the same way. It does not! It does > not minimize open windows, but the zenity window does appear on top of the > open windows. > > What is different about the anacron launch? I have been monkeying with > this thing for quite a while. I tried wmctrl -R but that did not behave as > I had hoped. wmctrl -k does what I want except when anacron is doing the > launching. > > Ideas? > > -Denis > > Test script: > > #!/bin/bash > # test to get zenity to work when script is not called from an X window > # change to a non-X login (^ alt F2), call this w/sudo, then go back to X > (^ alt F7) > # to see if a zenity window shows up. > # feb 5 2018 the above worked--all open windows minimized. > > > Notification () { > # pass title, text of notice, and timeout as 3 parameters > TITLE=$1; MSG=$2; TIMOUT=$3 > wmctrl -k on > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > --timeout="$TIMOUT" > RETRNCODE=$? > wmctrl -k off > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > } > > sleep 30 > > export DISPLAY=:0 > # test of launch of zenity > Notification "Test of zenity (backup_checksh)" "This should minimize all > open windows." 20 > # remove when satisfied that launch works. > > Top of real script: > > #!/bin/bash > > Notification () { > # pass title, text of notice, and timeout as 3 parameters > TITLE=$1; MSG=$2; TIMOUT=$3 > wmctrl -k on > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > --timeout="$TIMOUT" > RETRNCODE=$? > wmctrl -k off > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > } > export DISPLAY=:0 > # test of launch of zenity > Notification "Test of zenity (backup_checksh)" "This should minimize all > open windows." 5 > # remove when satisfied that launch works. > MAX_TIME=$((7 * 24 * 3600)) > > ___ PLUG mailing list PLUG@pdxlinux.org http://lists.pdxlinux.org/mailman/listinfo/plug
Re: [PLUG] bash; anacron; wmctrl question
I have presently export DISPLAY=:0. I do not know what the : means, and why would you choose 1 rather than zero? Note that presently the window does appear, but the command wmctrl -k does not seem to do anything. I will be giving anacron an opportunity tomorrow with Wes' suggestion added. -Denis On Tue, Feb 6, 2018 at 1:57 PM, Tomas Kuchtawrote: > I do not believe that you will be able to open graphical window using cron. > The best you can hope for is sending notifications or emails. > > If you have the strength to continue with random experiments. Try: export > DISPLAY :1 > In your script before launching the window. Although that will likely be > blocked because the executing user is different than the user owning the > graphical environment. > > The only sure way, I can think of, would be to use existing or write own > notification system. This would run after login, by the user and accept > your notification messages for displaying. > > Hope it helps, Tomas > > On Feb 6, 2018 1:45 PM, "Ali Corbin" wrote: > > > Another thing to try is to use the full path, in case the cron > environment > > doesn't include $PATH > > > > On Tue, Feb 6, 2018 at 1:39 PM, wes wrote: > > > > > try sudo wmctrl, the same way you're doing sudo zenity. > > > > > > -wes > > > > > > On Tue, Feb 6, 2018 at 1:27 PM, Denis Heidtmann < > > denis.heidtm...@gmail.com > > > > > > > wrote: > > > > > > > I have a script which runs daily via anacron. I want the script to > > > launch > > > > a zenity window to notify the user, so I issue the command wmctrl -k > on > > > > before zenity and wmctrl - off after. This is supposed to minimize > > all > > > > open windows to ensure that the zenity window will be visible. I > > have a > > > > test script to show that it works. Both scripts are owned by root, > but > > > > editable by me. I have run the test script from a command line > login > > > > using sudo, as well as from a Gnome terminal. The test script > behaves > > as > > > > intended--the desktop is cleared of all open windows. I inserted a > > test > > > > zenity window at the beginning of the real script to verity that when > > > > launched by anacron it would behave the same way. It does not! It > > does > > > > not minimize open windows, but the zenity window does appear on top > of > > > the > > > > open windows. > > > > > > > > What is different about the anacron launch? I have been monkeying > with > > > > this thing for quite a while. I tried wmctrl -R but that did not > > behave > > > as > > > > I had hoped. wmctrl -k does what I want except when anacron is doing > > the > > > > launching. > > > > > > > > Ideas? > > > > > > > > -Denis > > > > > > > > Test script: > > > > > > > > #!/bin/bash > > > > # test to get zenity to work when script is not called from an X > window > > > > # change to a non-X login (^ alt F2), call this w/sudo, then go back > > to X > > > > (^ alt F7) > > > > # to see if a zenity window shows up. > > > > # feb 5 2018 the above worked--all open windows minimized. > > > > > > > > > > > > Notification () { > > > > # pass title, text of notice, and timeout as 3 parameters > > > > TITLE=$1; MSG=$2; TIMOUT=$3 > > > > wmctrl -k on > > > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > > > > --timeout="$TIMOUT" > > > > RETRNCODE=$? > > > > wmctrl -k off > > > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > > > > } > > > > > > > > sleep 30 > > > > > > > > export DISPLAY=:0 > > > > # test of launch of zenity > > > > Notification "Test of zenity (backup_checksh)" "This should minimize > > all > > > > open windows." 20 > > > > # remove when satisfied that launch works. > > > > > > > > Top of real script: > > > > > > > > #!/bin/bash > > > > > > > > Notification () { > > > > # pass title, text of notice, and timeout as 3 parameters > > > > TITLE=$1; MSG=$2; TIMOUT=$3 > > > > wmctrl -k on > > > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > > > > --timeout="$TIMOUT" > > > > RETRNCODE=$? > > > > wmctrl -k off > > > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > > > > } > > > > export DISPLAY=:0 > > > > # test of launch of zenity > > > > Notification "Test of zenity (backup_checksh)" "This should minimize > > all > > > > open windows." 5 > > > > # remove when satisfied that launch works. > > > > MAX_TIME=$((7 * 24 * 3600)) > > > > ___ > > > > PLUG mailing list > > > > PLUG@pdxlinux.org > > > > http://lists.pdxlinux.org/mailman/listinfo/plug > > > > > > > ___ > > > PLUG mailing list > > > PLUG@pdxlinux.org > > > http://lists.pdxlinux.org/mailman/listinfo/plug > > > > > ___ > > PLUG mailing list > > PLUG@pdxlinux.org > > http://lists.pdxlinux.org/mailman/listinfo/plug > > >
Re: [PLUG] bash; anacron; wmctrl question
On the $DISPLAY variable, I thought that is what export DISPLAY=:0 was supposed to do. It must be doing something, since the zenity window does appear on my desktop. It is just that the wmctrl -k does not seem to work. I will be trying Wes' suggestion tomorrow when anacron gets another shot at it. How might I enable logging, and which log files? -Denis On Tue, Feb 6, 2018 at 1:50 PM, John Meissenwrote: > > denis.heidtm...@gmail.com said: > > What is different about the anacron launch? > > 1) check log files. Enable logging and check log files. Save script output. > > 2) Pobably the fact that the shell process executing the script doesn't > have a > $DISPLAY environment variable defined... Where would you expect it to open > the > window? > > > > ___ > PLUG mailing list > PLUG@pdxlinux.org > http://lists.pdxlinux.org/mailman/listinfo/plug > ___ PLUG mailing list PLUG@pdxlinux.org http://lists.pdxlinux.org/mailman/listinfo/plug
Re: [PLUG] bash; anacron; wmctrl question
yup. -wes On Tue, Feb 6, 2018 at 2:22 PM, Denis Heidtmannwrote: > You mean sudo -u household wmctrl...? > > -Denis > > On Tue, Feb 6, 2018 at 1:39 PM, wes wrote: > > > try sudo wmctrl, the same way you're doing sudo zenity. > > > > -wes > > > > On Tue, Feb 6, 2018 at 1:27 PM, Denis Heidtmann < > denis.heidtm...@gmail.com > > > > > wrote: > > > > > I have a script which runs daily via anacron. I want the script to > > launch > > > a zenity window to notify the user, so I issue the command wmctrl -k on > > > before zenity and wmctrl - off after. This is supposed to minimize > all > > > open windows to ensure that the zenity window will be visible. I > have a > > > test script to show that it works. Both scripts are owned by root, but > > > editable by me. I have run the test script from a command line login > > > using sudo, as well as from a Gnome terminal. The test script behaves > as > > > intended--the desktop is cleared of all open windows. I inserted a > test > > > zenity window at the beginning of the real script to verity that when > > > launched by anacron it would behave the same way. It does not! It > does > > > not minimize open windows, but the zenity window does appear on top of > > the > > > open windows. > > > > > > What is different about the anacron launch? I have been monkeying with > > > this thing for quite a while. I tried wmctrl -R but that did not > behave > > as > > > I had hoped. wmctrl -k does what I want except when anacron is doing > the > > > launching. > > > > > > Ideas? > > > > > > -Denis > > > > > > Test script: > > > > > > #!/bin/bash > > > # test to get zenity to work when script is not called from an X window > > > # change to a non-X login (^ alt F2), call this w/sudo, then go back > to X > > > (^ alt F7) > > > # to see if a zenity window shows up. > > > # feb 5 2018 the above worked--all open windows minimized. > > > > > > > > > Notification () { > > > # pass title, text of notice, and timeout as 3 parameters > > > TITLE=$1; MSG=$2; TIMOUT=$3 > > > wmctrl -k on > > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > > > --timeout="$TIMOUT" > > > RETRNCODE=$? > > > wmctrl -k off > > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > > > } > > > > > > sleep 30 > > > > > > export DISPLAY=:0 > > > # test of launch of zenity > > > Notification "Test of zenity (backup_checksh)" "This should minimize > all > > > open windows." 20 > > > # remove when satisfied that launch works. > > > > > > Top of real script: > > > > > > #!/bin/bash > > > > > > Notification () { > > > # pass title, text of notice, and timeout as 3 parameters > > > TITLE=$1; MSG=$2; TIMOUT=$3 > > > wmctrl -k on > > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > > > --timeout="$TIMOUT" > > > RETRNCODE=$? > > > wmctrl -k off > > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > > > } > > > export DISPLAY=:0 > > > # test of launch of zenity > > > Notification "Test of zenity (backup_checksh)" "This should minimize > all > > > open windows." 5 > > > # remove when satisfied that launch works. > > > MAX_TIME=$((7 * 24 * 3600)) > > > ___ > > > PLUG mailing list > > > PLUG@pdxlinux.org > > > http://lists.pdxlinux.org/mailman/listinfo/plug > > > > > ___ > > PLUG mailing list > > PLUG@pdxlinux.org > > http://lists.pdxlinux.org/mailman/listinfo/plug > > > ___ > PLUG mailing list > PLUG@pdxlinux.org > http://lists.pdxlinux.org/mailman/listinfo/plug > ___ PLUG mailing list PLUG@pdxlinux.org http://lists.pdxlinux.org/mailman/listinfo/plug
Re: [PLUG] bash; anacron; wmctrl question
You mean sudo -u household wmctrl...? -Denis On Tue, Feb 6, 2018 at 1:39 PM, weswrote: > try sudo wmctrl, the same way you're doing sudo zenity. > > -wes > > On Tue, Feb 6, 2018 at 1:27 PM, Denis Heidtmann > > wrote: > > > I have a script which runs daily via anacron. I want the script to > launch > > a zenity window to notify the user, so I issue the command wmctrl -k on > > before zenity and wmctrl - off after. This is supposed to minimize all > > open windows to ensure that the zenity window will be visible. I have a > > test script to show that it works. Both scripts are owned by root, but > > editable by me. I have run the test script from a command line login > > using sudo, as well as from a Gnome terminal. The test script behaves as > > intended--the desktop is cleared of all open windows. I inserted a test > > zenity window at the beginning of the real script to verity that when > > launched by anacron it would behave the same way. It does not! It does > > not minimize open windows, but the zenity window does appear on top of > the > > open windows. > > > > What is different about the anacron launch? I have been monkeying with > > this thing for quite a while. I tried wmctrl -R but that did not behave > as > > I had hoped. wmctrl -k does what I want except when anacron is doing the > > launching. > > > > Ideas? > > > > -Denis > > > > Test script: > > > > #!/bin/bash > > # test to get zenity to work when script is not called from an X window > > # change to a non-X login (^ alt F2), call this w/sudo, then go back to X > > (^ alt F7) > > # to see if a zenity window shows up. > > # feb 5 2018 the above worked--all open windows minimized. > > > > > > Notification () { > > # pass title, text of notice, and timeout as 3 parameters > > TITLE=$1; MSG=$2; TIMOUT=$3 > > wmctrl -k on > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > > --timeout="$TIMOUT" > > RETRNCODE=$? > > wmctrl -k off > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > > } > > > > sleep 30 > > > > export DISPLAY=:0 > > # test of launch of zenity > > Notification "Test of zenity (backup_checksh)" "This should minimize all > > open windows." 20 > > # remove when satisfied that launch works. > > > > Top of real script: > > > > #!/bin/bash > > > > Notification () { > > # pass title, text of notice, and timeout as 3 parameters > > TITLE=$1; MSG=$2; TIMOUT=$3 > > wmctrl -k on > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > > --timeout="$TIMOUT" > > RETRNCODE=$? > > wmctrl -k off > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > > } > > export DISPLAY=:0 > > # test of launch of zenity > > Notification "Test of zenity (backup_checksh)" "This should minimize all > > open windows." 5 > > # remove when satisfied that launch works. > > MAX_TIME=$((7 * 24 * 3600)) > > ___ > > PLUG mailing list > > PLUG@pdxlinux.org > > http://lists.pdxlinux.org/mailman/listinfo/plug > > > ___ > PLUG mailing list > PLUG@pdxlinux.org > http://lists.pdxlinux.org/mailman/listinfo/plug > ___ PLUG mailing list PLUG@pdxlinux.org http://lists.pdxlinux.org/mailman/listinfo/plug
Re: [PLUG] bash; anacron; wmctrl question
Thinking little more about it - you might be able to get around the access permissions - to display stuff on other user's screens by using xhost command as part of user's default environment setup at login. That however is breaking the security - you can imagine how the desktop would look if random users can display stuff on your desktop. Beside annoyances, I can imagine fake terminals, browsers, etc. and windows covering whole screen without the closing button. Tomas On Feb 6, 2018 1:57 PM, "Tomas Kuchta"wrote: > I do not believe that you will be able to open graphical window using > cron. The best you can hope for is sending notifications or emails. > > If you have the strength to continue with random experiments. Try: export > DISPLAY :1 > In your script before launching the window. Although that will likely be > blocked because the executing user is different than the user owning the > graphical environment. > > The only sure way, I can think of, would be to use existing or write own > notification system. This would run after login, by the user and accept > your notification messages for displaying. > > Hope it helps, Tomas > > On Feb 6, 2018 1:45 PM, "Ali Corbin" wrote: > >> Another thing to try is to use the full path, in case the cron environment >> doesn't include $PATH >> >> On Tue, Feb 6, 2018 at 1:39 PM, wes wrote: >> >> > try sudo wmctrl, the same way you're doing sudo zenity. >> > >> > -wes >> > >> > On Tue, Feb 6, 2018 at 1:27 PM, Denis Heidtmann < >> denis.heidtm...@gmail.com >> > > >> > wrote: >> > >> > > I have a script which runs daily via anacron. I want the script to >> > launch >> > > a zenity window to notify the user, so I issue the command wmctrl -k >> on >> > > before zenity and wmctrl - off after. This is supposed to minimize >> all >> > > open windows to ensure that the zenity window will be visible. I >> have a >> > > test script to show that it works. Both scripts are owned by root, >> but >> > > editable by me. I have run the test script from a command line >> login >> > > using sudo, as well as from a Gnome terminal. The test script >> behaves as >> > > intended--the desktop is cleared of all open windows. I inserted a >> test >> > > zenity window at the beginning of the real script to verity that when >> > > launched by anacron it would behave the same way. It does not! It >> does >> > > not minimize open windows, but the zenity window does appear on top of >> > the >> > > open windows. >> > > >> > > What is different about the anacron launch? I have been monkeying >> with >> > > this thing for quite a while. I tried wmctrl -R but that did not >> behave >> > as >> > > I had hoped. wmctrl -k does what I want except when anacron is doing >> the >> > > launching. >> > > >> > > Ideas? >> > > >> > > -Denis >> > > >> > > Test script: >> > > >> > > #!/bin/bash >> > > # test to get zenity to work when script is not called from an X >> window >> > > # change to a non-X login (^ alt F2), call this w/sudo, then go back >> to X >> > > (^ alt F7) >> > > # to see if a zenity window shows up. >> > > # feb 5 2018 the above worked--all open windows minimized. >> > > >> > > >> > > Notification () { >> > > # pass title, text of notice, and timeout as 3 parameters >> > > TITLE=$1; MSG=$2; TIMOUT=$3 >> > > wmctrl -k on >> > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" >> > > --timeout="$TIMOUT" >> > > RETRNCODE=$? >> > > wmctrl -k off >> > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout >> > > } >> > > >> > > sleep 30 >> > > >> > > export DISPLAY=:0 >> > > # test of launch of zenity >> > > Notification "Test of zenity (backup_checksh)" "This should minimize >> all >> > > open windows." 20 >> > > # remove when satisfied that launch works. >> > > >> > > Top of real script: >> > > >> > > #!/bin/bash >> > > >> > > Notification () { >> > > # pass title, text of notice, and timeout as 3 parameters >> > > TITLE=$1; MSG=$2; TIMOUT=$3 >> > > wmctrl -k on >> > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" >> > > --timeout="$TIMOUT" >> > > RETRNCODE=$? >> > > wmctrl -k off >> > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout >> > > } >> > > export DISPLAY=:0 >> > > # test of launch of zenity >> > > Notification "Test of zenity (backup_checksh)" "This should minimize >> all >> > > open windows." 5 >> > > # remove when satisfied that launch works. >> > > MAX_TIME=$((7 * 24 * 3600)) >> > > ___ >> > > PLUG mailing list >> > > PLUG@pdxlinux.org >> > > http://lists.pdxlinux.org/mailman/listinfo/plug >> > > >> > ___ >> > PLUG mailing list >> > PLUG@pdxlinux.org >> > http://lists.pdxlinux.org/mailman/listinfo/plug >> > >> ___ >> PLUG mailing list >> PLUG@pdxlinux.org >>
Re: [PLUG] bash; anacron; wmctrl question
I do not believe that you will be able to open graphical window using cron. The best you can hope for is sending notifications or emails. If you have the strength to continue with random experiments. Try: export DISPLAY :1 In your script before launching the window. Although that will likely be blocked because the executing user is different than the user owning the graphical environment. The only sure way, I can think of, would be to use existing or write own notification system. This would run after login, by the user and accept your notification messages for displaying. Hope it helps, Tomas On Feb 6, 2018 1:45 PM, "Ali Corbin"wrote: > Another thing to try is to use the full path, in case the cron environment > doesn't include $PATH > > On Tue, Feb 6, 2018 at 1:39 PM, wes wrote: > > > try sudo wmctrl, the same way you're doing sudo zenity. > > > > -wes > > > > On Tue, Feb 6, 2018 at 1:27 PM, Denis Heidtmann < > denis.heidtm...@gmail.com > > > > > wrote: > > > > > I have a script which runs daily via anacron. I want the script to > > launch > > > a zenity window to notify the user, so I issue the command wmctrl -k on > > > before zenity and wmctrl - off after. This is supposed to minimize > all > > > open windows to ensure that the zenity window will be visible. I > have a > > > test script to show that it works. Both scripts are owned by root, but > > > editable by me. I have run the test script from a command line login > > > using sudo, as well as from a Gnome terminal. The test script behaves > as > > > intended--the desktop is cleared of all open windows. I inserted a > test > > > zenity window at the beginning of the real script to verity that when > > > launched by anacron it would behave the same way. It does not! It > does > > > not minimize open windows, but the zenity window does appear on top of > > the > > > open windows. > > > > > > What is different about the anacron launch? I have been monkeying with > > > this thing for quite a while. I tried wmctrl -R but that did not > behave > > as > > > I had hoped. wmctrl -k does what I want except when anacron is doing > the > > > launching. > > > > > > Ideas? > > > > > > -Denis > > > > > > Test script: > > > > > > #!/bin/bash > > > # test to get zenity to work when script is not called from an X window > > > # change to a non-X login (^ alt F2), call this w/sudo, then go back > to X > > > (^ alt F7) > > > # to see if a zenity window shows up. > > > # feb 5 2018 the above worked--all open windows minimized. > > > > > > > > > Notification () { > > > # pass title, text of notice, and timeout as 3 parameters > > > TITLE=$1; MSG=$2; TIMOUT=$3 > > > wmctrl -k on > > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > > > --timeout="$TIMOUT" > > > RETRNCODE=$? > > > wmctrl -k off > > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > > > } > > > > > > sleep 30 > > > > > > export DISPLAY=:0 > > > # test of launch of zenity > > > Notification "Test of zenity (backup_checksh)" "This should minimize > all > > > open windows." 20 > > > # remove when satisfied that launch works. > > > > > > Top of real script: > > > > > > #!/bin/bash > > > > > > Notification () { > > > # pass title, text of notice, and timeout as 3 parameters > > > TITLE=$1; MSG=$2; TIMOUT=$3 > > > wmctrl -k on > > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > > > --timeout="$TIMOUT" > > > RETRNCODE=$? > > > wmctrl -k off > > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > > > } > > > export DISPLAY=:0 > > > # test of launch of zenity > > > Notification "Test of zenity (backup_checksh)" "This should minimize > all > > > open windows." 5 > > > # remove when satisfied that launch works. > > > MAX_TIME=$((7 * 24 * 3600)) > > > ___ > > > PLUG mailing list > > > PLUG@pdxlinux.org > > > http://lists.pdxlinux.org/mailman/listinfo/plug > > > > > ___ > > PLUG mailing list > > PLUG@pdxlinux.org > > http://lists.pdxlinux.org/mailman/listinfo/plug > > > ___ > PLUG mailing list > PLUG@pdxlinux.org > http://lists.pdxlinux.org/mailman/listinfo/plug > ___ PLUG mailing list PLUG@pdxlinux.org http://lists.pdxlinux.org/mailman/listinfo/plug
Re: [PLUG] bash; anacron; wmctrl question
Another thing to try is to use the full path, in case the cron environment doesn't include $PATH On Tue, Feb 6, 2018 at 1:39 PM, weswrote: > try sudo wmctrl, the same way you're doing sudo zenity. > > -wes > > On Tue, Feb 6, 2018 at 1:27 PM, Denis Heidtmann > > wrote: > > > I have a script which runs daily via anacron. I want the script to > launch > > a zenity window to notify the user, so I issue the command wmctrl -k on > > before zenity and wmctrl - off after. This is supposed to minimize all > > open windows to ensure that the zenity window will be visible. I have a > > test script to show that it works. Both scripts are owned by root, but > > editable by me. I have run the test script from a command line login > > using sudo, as well as from a Gnome terminal. The test script behaves as > > intended--the desktop is cleared of all open windows. I inserted a test > > zenity window at the beginning of the real script to verity that when > > launched by anacron it would behave the same way. It does not! It does > > not minimize open windows, but the zenity window does appear on top of > the > > open windows. > > > > What is different about the anacron launch? I have been monkeying with > > this thing for quite a while. I tried wmctrl -R but that did not behave > as > > I had hoped. wmctrl -k does what I want except when anacron is doing the > > launching. > > > > Ideas? > > > > -Denis > > > > Test script: > > > > #!/bin/bash > > # test to get zenity to work when script is not called from an X window > > # change to a non-X login (^ alt F2), call this w/sudo, then go back to X > > (^ alt F7) > > # to see if a zenity window shows up. > > # feb 5 2018 the above worked--all open windows minimized. > > > > > > Notification () { > > # pass title, text of notice, and timeout as 3 parameters > > TITLE=$1; MSG=$2; TIMOUT=$3 > > wmctrl -k on > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > > --timeout="$TIMOUT" > > RETRNCODE=$? > > wmctrl -k off > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > > } > > > > sleep 30 > > > > export DISPLAY=:0 > > # test of launch of zenity > > Notification "Test of zenity (backup_checksh)" "This should minimize all > > open windows." 20 > > # remove when satisfied that launch works. > > > > Top of real script: > > > > #!/bin/bash > > > > Notification () { > > # pass title, text of notice, and timeout as 3 parameters > > TITLE=$1; MSG=$2; TIMOUT=$3 > > wmctrl -k on > > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > > --timeout="$TIMOUT" > > RETRNCODE=$? > > wmctrl -k off > > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > > } > > export DISPLAY=:0 > > # test of launch of zenity > > Notification "Test of zenity (backup_checksh)" "This should minimize all > > open windows." 5 > > # remove when satisfied that launch works. > > MAX_TIME=$((7 * 24 * 3600)) > > ___ > > PLUG mailing list > > PLUG@pdxlinux.org > > http://lists.pdxlinux.org/mailman/listinfo/plug > > > ___ > PLUG mailing list > PLUG@pdxlinux.org > http://lists.pdxlinux.org/mailman/listinfo/plug > ___ PLUG mailing list PLUG@pdxlinux.org http://lists.pdxlinux.org/mailman/listinfo/plug
Re: [PLUG] bash; anacron; wmctrl question
try sudo wmctrl, the same way you're doing sudo zenity. -wes On Tue, Feb 6, 2018 at 1:27 PM, Denis Heidtmannwrote: > I have a script which runs daily via anacron. I want the script to launch > a zenity window to notify the user, so I issue the command wmctrl -k on > before zenity and wmctrl - off after. This is supposed to minimize all > open windows to ensure that the zenity window will be visible. I have a > test script to show that it works. Both scripts are owned by root, but > editable by me. I have run the test script from a command line login > using sudo, as well as from a Gnome terminal. The test script behaves as > intended--the desktop is cleared of all open windows. I inserted a test > zenity window at the beginning of the real script to verity that when > launched by anacron it would behave the same way. It does not! It does > not minimize open windows, but the zenity window does appear on top of the > open windows. > > What is different about the anacron launch? I have been monkeying with > this thing for quite a while. I tried wmctrl -R but that did not behave as > I had hoped. wmctrl -k does what I want except when anacron is doing the > launching. > > Ideas? > > -Denis > > Test script: > > #!/bin/bash > # test to get zenity to work when script is not called from an X window > # change to a non-X login (^ alt F2), call this w/sudo, then go back to X > (^ alt F7) > # to see if a zenity window shows up. > # feb 5 2018 the above worked--all open windows minimized. > > > Notification () { > # pass title, text of notice, and timeout as 3 parameters > TITLE=$1; MSG=$2; TIMOUT=$3 > wmctrl -k on > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > --timeout="$TIMOUT" > RETRNCODE=$? > wmctrl -k off > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > } > > sleep 30 > > export DISPLAY=:0 > # test of launch of zenity > Notification "Test of zenity (backup_checksh)" "This should minimize all > open windows." 20 > # remove when satisfied that launch works. > > Top of real script: > > #!/bin/bash > > Notification () { > # pass title, text of notice, and timeout as 3 parameters > TITLE=$1; MSG=$2; TIMOUT=$3 > wmctrl -k on > sudo -u household zenity --question --title="$TITLE" --text="$MSG" > --timeout="$TIMOUT" > RETRNCODE=$? > wmctrl -k off > return $RETRNCODE # return codes: 0 = YES, 1 = cancel, 5 = timeout > } > export DISPLAY=:0 > # test of launch of zenity > Notification "Test of zenity (backup_checksh)" "This should minimize all > open windows." 5 > # remove when satisfied that launch works. > MAX_TIME=$((7 * 24 * 3600)) > ___ > PLUG mailing list > PLUG@pdxlinux.org > http://lists.pdxlinux.org/mailman/listinfo/plug > ___ PLUG mailing list PLUG@pdxlinux.org http://lists.pdxlinux.org/mailman/listinfo/plug