Ubuntu :: Pipe Bash Script To Zenity's Progress Feature?
Feb 22, 2010Example from zenity:
Code:
#!/bin/sh
(
[code].....
Example from zenity:
Code:
#!/bin/sh
(
[code].....
I am busy writing this script to get a pixel count of a large batch of images in a directory for a research project. To do this I'm using a loop to get all the images in the directory. To make the whole procedure more user friendly for some colleagues I decided to use zenity, something I haven't yet really worked with. As not to make sure that the users don't have to watch to this blank screen during the actual processing of the images I'm trying to get the zenity progress bar working. So far the progress bar comes up but instead of changing over time it stays "empty" till all the images are processed and then becomes 100% when all images are done. What servers my needs for now, but since I am trying to learn more about zenity I was wondering how I could change the script to get the progress bar properly working? Below is the piece of script I am talking about.
Code:
cd $input #goto path of image directory
(for a in *jpg *JPG *jpeg *JPEG; do
if [ -f "$a" ]; then #was it a image file
b="$a" #set b to $a
convert -resize 1000x1000! ${b} -depth 1 -format %c histogram:info:$b.txt #get pixelcount and write to .txt file
fi
done) | zenity --progress
Awhile back, PabloTwo pointed me to zenity as a way to create bash scripts with changeable parameters. That thread is here, for anyone interested in reading about it: [URL] Anyway, my problem is that I'm trying to capture input that contains double-dashes ("--") but zenity (or maybe or it's bash???) complains with the following error message:
"This option is not available. for all possible usages.
bash: [/code]: No such file or directory"
Here's an example of what I'm doing:
Code:
# Select the time of day
Flytime=`zenity --list --text="Select the Time" --radiolist --height=300 --width=300 --hide-column=2 --column="Select" --column="Code" --column="Time of Day"
"" "--timeofday=real" "Local Time"
[code]....
What I want to accomplish is for the variable $Flytime to contain either "--timeofday=real" or "--timeofday=dawn" (without the quotes) depending upon which radio button is selected. I have tried escaping "--timeofday" (e.g. "--timeofday" and even "--timeofday") but that's not working.
I'm trying to use zenity in a bash script to display a .csv file using '--list' to allow the user to edit some of the values.I can display it fine but i'm unsure how to edit the data? all i can get is whichever line is highlited when hitting ok on the zenity dialog to print.the data in the csv is arranged:
<prod>,<disc>,<qty>,<type>,<location>
I'm writing a script to automate rsync backups which so far is working great. I prefer to send output to a text file instead of watching it fly by but the blank output is slightly boring? I would love to use a progress bar. Not for each file but for overall progress. Something like
syncing /home directory 50% [++++++++]
I already know it's way over my head and maybe bash isn't even the right tool for the job.
I understand that $! is the PID of a command. For example:
Code: #!/bin/bash
myprogram &
echo "PID of myprogram is $!"
I'd like to send the output of "myprogram" to both console and to a log file using the "tee" command but I also want to store the PID of "myprogam". Something like this:
Code: #!/bin/bash
myprogram | tee ./logfile &
echo "PID of myprogram is $!"
The problem is that $! is now the PID of "tee" rather than the PID of "myprogram".
I will have to code this. However I am lacking of time since I have too much to do. make a short code bash/dash to prompt the country with Zenity, then, get the PLS or m3u url and prompt with another zenity which radio to play. http://www.listenlive.eu/index.html
My code to get url's radio country.htm is:
Code:
I don't quite understand how pipes work in bash. I know that it takes an output from one command as the input in another command. What an output is I can get because it's what the command prints out to the screen. But how do I know what input a command will take? Here is an example I thought would work:
Which gem | rm
Unfortunately it didn't.
Which gem prints out "/usr/bin/gem" so that must be the output right? I thought that was given to rm so it would be "rm /usr/bin/gem" but I was wrong. How do I know what input a command takes?
Two processes are communicating through a pipe: A | B. A is writing data faster than B is reading it in. Is there any way to have A limit its writing rate to match B's reading rate?
AFAIK the pipe will get full, and will make A's writing block, waiting for B to read in more data. But is there a way to limit A's writing rate before the pipe fills up? (In a way it's like having a pipe with a really small capacity, but as far as I know pipe capacity is a constant compiled into the kernel.)
Code:
EXAMPLE FOR CLARIFICATION
Right now the command is printing out the following in 1-second intervals:
But with flow control it should print out (again in 1-second intervals):
...since "date" would block on the writing loop due to the slow reading loop.
I have script which does file locking via flock and then writing it's pid into that file. It perfectly works being run by hand in terminal, running under cron on Debian, but somehow fails being run under cron on Centos 5.6. Script part and straced outputs are below.
bash code:
#setting lock
mylog "setting lockfile $LOCKFILE"
exec 200<> $LOCKFILE
[code]....
I move a page from a server in SuSe to Debian and this script was working well but when I move the page to a Debian base server it is sending in the logs the following message:
cat: write error: Broken pipe, referer: [URL]
The cgi does the following, read a db file plain text that repeat each 15 lines an information where to look the seraching info. if it is there sends to the output the 15 lines block. but it was not sending errors in suse distro, does anybody knows why the cat's line are sending "cat: write error: Broken pipe," if I am not writing or making a pipe with ">" to none file.
I'm using a java application that runs as an interactive command line (in a terminal). My problem is that it's rather unfriendly as an interaction mode as it's minimalistic: it doesn't allow going to and fro with arrows, there's no history and so on. So I have to type all commands every time and have to retype it if I missed something at the beginning of the line, or I have to copy and paste from a txt editor. The strange thing is that I have seen the same application running on a Windows box and allowing for all the sugar. So I'm not sure if it's because of the shell script I run (as opposed to the .bat) or whether it has to do with system or profile settings in my shell.
For information, the shell script starts with:
Code:
#!bin/sh
I've replaced it with:
Code:
#!bin/bash
In hope I would have something closer to my normal terminal. The app runs but it doesn't change anything to the interactive mode. I'm rather clueless regarding sh/bash and so on. I've seen the manuals but I'm not entirely at home understanding and using their options. I know that there's a .bashrc and perhaps something like a profile somewhere, but I don't really know how to do things with these without risking messing up.
I've written a simple server in linux used fork to create a FIFO pipe.The server create two FIFO pipe.One for server read data from client and write data to client.Then another pipe for client read data from server and write data to server.When the server read data from a client used server-pipe and then write data to client.But ,if the client no read open the pipe,the server side write will be crashed because of a broken-pipe SIGPIPE. How to check whether the read side is opened?Or,how to catch the SIGPIPE,and then my server will still execute on,not crashed!!
View 5 Replies View RelatedI'm doing ping between 2 RH servers through a VPN site2site tunnel and in some times I got in the result pipe 2 and another pipe 3 as I mark it in blue color below.
e.g.
64 bytes from 192.168.1.10: icmp_seq=0 ttl=128 time=0.229 ms
64 bytes from 192.168.1.10: icmp_seq=1 ttl=128 time=0.287 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=128 time=0.278 ms
[code]....
What's the difference between pipe 2 and pipe 3 and what's the meaning of it?
Does anyone know what happened to the Multiseat feature that had been in the feature list at one point?To briefly summarise, a single machine with multiple graphics cards, sound cards, keyboards & mice provides multiple seats for users. Each user gets their own monitor, keyboard, mouse & perhaps audio. The rest of the machine resources are then shared.
The last I saw on the topic was this discussion, although I have a recollection that there was going to be support in a newer version of X.Org. I've googled around quite a bit, but can't seem to find anything.
Anybody know anything? It would be a great feature to have and it's frustrating to have had such an omission since F8 :-o
Somehow we are at the new stage hal deprecated and its changes is not easy for newbies to follows. also changing sudoers is a dirty and not safe trick So: The need for zenity script with these feature:
@ Consolekit
@Logout
@shoutdown
@restart
@suspend
@my be cancel
is really being felt. So if someone how is able to change the old zentiy openbox script comes forward and do the job;
Basically I'm trying to write a simple script that will have zenity display a yes or no question and then run a program depending on what I select. I'm also trying to figure out how to have zenity display a message after I select yes or no on the first display. I feel as though I'm forgetting to do something basic with the script...
View 7 Replies View RelatedI've been making a "gui" for a script to help automate some of the steps involved in customizing a live cd with zenity. I have a menu with radio buttons for each option. When I pick "Remove a package manually", I have it show all of the installed packages as well as a text box for me to type the name into. The only downside to this method is that the package window overlaps the text box. Is there a way to change the window position of zenity windows?
View 2 Replies View RelatedI installed Zenity with yum and while it was installing it delete a lot of things.After an reboot Fedora hangs by the inlogscreen.I also tried to uninstall Zenity with system resque but no result.Does somebody knows how to upgrade my system again so that it boots normally again.
View 7 Replies View RelatedI'm trying to use zenity and at to make a little reminder script. The problem is that while zenity --info works fine from bash (or sh), running echo "zenity --info" | at now + 1 min does nothing. The job shows up in my atq and then runs, but no zenity pop-up. What's going on?
View 1 Replies View Relatedis there anyway to get zenity 2.32.0 installed on lucid besides compiling it from source? because i noticed it was available for maverick.
is this version likely to be available for lucid?
how to pass the position to zenity to be launched specific place of X11? No info are given [URL]
View 3 Replies View RelatedI'm trying to send the results of a command line $du --max-depth=1 to a zenity message box.I want to create a .sh script that I can run as a Nautilus script that will open a zenity message box with a listing of sub-folders/sizes. $DU with options, will provide the results in a terminal window, but I can't seem to get it into a zenity message box. I've tried gxmessage also, but no go.
View 2 Replies View RelatedIn my project i cannot determine the number of check list initially. I will know dynamically during execution.How to specify the number of check list dynamically in zenity.
View 5 Replies View RelatedI'm using zenity 2.28.0 in a bash script (under kde4) to select multiple files in a directory. It works fine, but always defaults to showing hidden files. How can I get it to hide hidden files by default?
I know about toggling them on and off with Ctrl-H, but I would prefer not to have to use that. I have my options set so that dolphin and konqueror do not show hidden files by default. I even tried adding shopt -u dotglob to my script. zenity invocation (extracted from a more complex statement): zenity --title "Select Print Files to Delete" --file-selection --multiple
Is there a way to make a dialog with zenity which would show an updating list? Zenity does it with progress, but I didn't figure out if it's possible to do it with the list. I.e. for example, I want to monitor something, and update the dialog with new list periodically. Is it even possible? zenity can wait for data from stdin, but it just adds stuff to the list. May be there are some control sequences which clear the list in the dialog?
For example:
{ echo "Foo"; sleep 2; echo "Bar"; } | zenity --list --title='Dynamic list?' --text='Some data' --column='values'
How can I instead of adding Bar, replace the Foo with it?
explanation what I want to do exactly:I have a textfile which looks for instance like this:
file.txt:
...
something=else to do
[code]....
A quick google search gave me a possible answer at this post: [URL] However, this isn't my question exactly. It sort of is, but the answer is not correct for me. I'm wondering how to show progress of a cp or mv command. The man page says -v should do it, but it seems it doesn't show any progress at all. Is it possible to show progress info with cp or mv? Or, is there a different command I could use that would show a progress bar. I know for example scp will show a progress bar, but that is for local-->remote or visa versa, but I'm trying to copy locally.
View 4 Replies View RelatedWhere is the progress bar in the new Firefox, or can it be got back if Mozilla removed it? If you have Mobile Broadband or dial-up this is a handy thing if you start looking at your watch waiting for a page to load...
View 1 Replies View RelatedI removed my Ubuntu 10.04 partition from my hard disk with GParted because it didn't install properly and there were no solutions available. After I removed it, I set it up to extend my Vista partition into the unallocated space. It's been going for three hours so far (which I expected) but the progress bar is now stuck. The timer's stopped and everything; it's not increasing infinitely like when your internet cuts out when downloading something, it's just stopped. Here's a screenshot:[URL]..
I know to resist the allure of the Cancel button, but I don't really know what to do here. It's been sitting here for about half an hour with no sign of budging.