Как вы получаете эти изящные прозрачные дисплеи журнала?

Итак, я видел множество отображений прозрачных журналов или запущенных журналов или экземпляров htop на том, что выглядит как фиксированные области рабочего стола. Я думаю, что это что-то вроде root-tail, но я не могу заставить root-tail работать. Это заставляет меня подозревать, что либо это делается по-другому, либо проблема тривиальна, если вы знаете, как это исправить. Либо может быть так.

Итак, я попробовал несколько примеров:

sudo root-tail -g 800x250+100+50 /var/log/syslog,green

Пример выше не показывает ошибок, но также не отображает.

user@machine:/home/user/scripts# sudo root-tail -g 800x250+100+50 -font fixed /var/log/syslog,green /var/log/auth.log,red,'ALERT'
Missing charsets in String to FontSet conversion (ISO8859-2)
Missing charsets in String to FontSet conversion (ISO8859-2)

Нет. Вычеркнул снова.

Подсказки?

1
задан 4 April 2015 в 04:08

3 ответа

root-tail делает точно, что Вы хотите, но в пути существует другое окно. Это кратко обсуждено в раздел BUGS root-tail страница справочника.

Большинство рабочих столов в наше время управляет "корневым окном" с overlayed окном. В LXDE это сделано с pcmanfm, в GNOME это было nautilus, и Единица имеет свою собственную вещь. То, что Вы хотите сделать, производили корневой хвост к этому наложению.

  1. Открывают терминал (xterm, rxvt, терминал гнома, и т.д.)
  2. Выполнение xwininfo
  3. , Ваш курсор теперь изменился на перекрестие. Нажмите на свое образование.
  4. В выводе, отметьте строку, которая запускается с xwininfo: Window id:. Вы хотите следующее шестнадцатеричное число.
  5. корневой хвост Выполнения как прежде, но добавляют эти -id флаг с шестнадцатеричным числом от предыдущего шага. т.е.: root-tail -g 800x250+100+50 -id 0x1000003 /var/log/syslog,green

Вот то, на что xwininfo похож для меня (как пользователь LXDE):

❯ xwininfo 

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x1000003 "pcmanfm"

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0 
  Relative upper-left Y:  0
  Width: 1680
  Height: 1050
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +0+0  -0+0  -0-0  +0-0
  -geometry 1680x1050+0+0

, Если я kill pcmanfm (и сокращают вывод) Вы видите, каково корневое окно действительно. Это - то, где Вы пишете, когда Вы не используете root-tail -id флаг:

❯ ps xa |grep pcmanfm
13123 ?        Sl     0:00 pcmanfm --desktop --profile lubuntu
14496 pts/0    S+     0:00 grep pcmanfm

❯ kill 13123

❯ xwininfo |grep id: 
xwininfo: Window id: 0x29a (the root window) (has no name)

Примечание: идентификатор окна Вашего "управляемого образования", скорее всего, изменит каждую сессию.

3
ответ дан 4 April 2015 в 14:08

Программа как htop является пользовательской программой, разработанной на языке C. Это пользуется ncurses библиотекой, которая позволяет программе управлять своим выводом в терминале, своего рода псевдо GUI. Для получения того же эффекта программа должна быть записана с помощью ncurses.

0
ответ дан 4 April 2015 в 04:08

Вы могли использовать Носатый для отображения журналов с прозрачным окном, возможно, что-то вроде этого:

conky.config = {
-- — SETTINGS —
    background = false,
    update_interval = 1,
    cpu_avg_samples = 2,
    net_avg_samples = 2,
    double_buffer = true,
    no_buffers = true,
    text_buffer_size = 2048,
    imlib_cache_size = 0,

-- — WINDOW —
    --own_window_class = 'Conky',
    own_window_argb_visual = true,
    own_window_argb_value=0,
    --own_window_type='dock',
    own_window=true,
    own_window_transparent=true,
    own_window_hints='undecorated,below,sticky,skip_taskbar,skip_pager',

-- — BORDER —
    border_inner_margin = 1,
    border_outer_margin = 1,
    border_width = 1,

-- — SIZE — #
    minimum_width = 1800,
    maximum_width = 1800,
--  default_bar_width = 50, default_bar_height = 15,

-- — ALIGNMENT —
    gap_x = 75,
    gap_y = 450,

-- — GRAPHIC —
    draw_shades = false,
    draw_outline = false,
    draw_borders = false,
    draw_graph_borders = true,
--default_shade_color 
--default_outline_color 909090
--own_window_colour 808080

-- — TEXT —
    use_xft = true,
    font = 'Dejavu Sans:size=10',
    xftalpha = 1.0,
    uppercase = false,
    override_utf8_locale = true,
    default_color = 'white',

-- — LUA —
--lua_load ~/Conky/bgcolor/bg.lua
--lua_draw_hook_pre conky_draw_bg

-- — Colors —
    color1 = '#C18C24',

};

conky.text = [[
${color1}${font Dejavu Sans:size=12:condensed:bold}DD-WRT Router Log${font}
#${exec curl ipinfo.io}
----------------------------------${font}${color}
${exec watch -nd | tail -n 15 /var/log/ddwrt/ddwrt.log | sort -r}
]];

отобразит что-то вроде этого:

Screenshot

1
ответ дан 4 April 2015 в 14:08

Другие вопросы по тегам:

Похожие вопросы: