Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#410 excp/execpi/execi truncate the output

open
nobody
None
5
2012-06-19
2012-06-19
Zubrick
No

To display logs of different machines, I used the exec command in version prior to 1.9, but now it doesn't align, so I tried the other execXX commands, and found that execp, execpi and execi do not display all the 30 lines exec displays, but only less than three lines

here is the exec command:
${exec (ssh root@paris tail -n30 /var/log/daemon.log | fold -w 150 | tail -n30 && echo "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n") | head -n30 | sed ':a;N;$!ba;s/\n/\n${offset 987}/g' }
which display 30 lines whith ${offset 987} in front of all of them except the firt one.
Adding a 'p' to the exec only displays the beggining of the 30 lines. The ${offset 987} is not displayed and the alignement is correct

$ conky --version
Conky 1.9.0 compiled Fri May 11 15:54:00 UTC 2012 for Linux 2.6.32-5-amd64 (x86_64)

Compiled in features:

System config file: /etc/conky/conky.conf
Package library path: /usr/lib/conky

X11:
* Xdamage extension
* XDBE (double buffer extension)
* Xft
* ARGB visual

Music detection:
* Audacious
* MPD
* MOC
* XMMS2

General:
* math
* hddtemp
* portmon
* Curl
* RSS
* Weather (METAR)
* Weather (XOAP)
* wireless
* support for IBM/Lenovo notebooks
* nvidia
* eve-online
* config-output
* Imlib2
* apcupsd
* iostats
* ncurses
* Lua

Lua bindings:
* Cairo
* Imlib2

Discussion

  • arclance
    arclance
    2012-06-19

    Have you tried increasing your text_buffer_size?
    If it is too small the output of exec/execi/execp/execpi/texeci can be turncated because they run out of buffer space.

     
  • Zubrick
    Zubrick
    2012-06-20

    Thank you arclance, it works when increasing text_buffer_size
    I don't close the ticket myself, because it is maybe a bug in exec where the text_buffer_size is not followed. I let you decide.

     
  • arclance
    arclance
    2012-06-20

    No it's not a bug, the default text_buffer_size is just to small for the length of the output the line you executed.

    Here is the description of text_buffer_size from the conky manual for clarifictation.

    Size of the standard text buffer (default is 256 bytes). This buffer is used for intermediary text, such as individual lines, output from $exec vars, and various other variables. Increasing the size of this buffer can drastically reduce Conky's performance, but will allow for more text display per variable. The size of this buffer cannot be smaller than the default value of 256 bytes.

     
  • Zubrick
    Zubrick
    2012-06-20

    I understand, but in my case, the output of the exec command is not affected by the value of text_buffer_size (by default it displays at least 4k). It seems that only execi, execp and execpi are affected by the text_buffer_size parameter (I didn't test texeci).
    It is not a real problem, only that this is not coherent with the manual from what I understand.

     
  • uvok
    uvok
    2013-04-17

    Same problem here. My config file:

    out_to_x no
    out_to_console yes
    max_user_text 64000

    TEXT
    ${execi 10 grep ssh /var/log/auth.log | tail -n10}

    It only outputs the first three lines of the output text, although I increased the text buffer. (Also tried texeci, same problem)
    Exec does the right thig, however.