Как вы получаете эти изящные прозрачные дисплеи журнала?
Итак, я видел множество отображений прозрачных журналов или запущенных журналов или экземпляров 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)
Нету. Вычеркнул снова.
Улики?
3 ответа
root-tail
делает именно то, что вы хотите, но есть другое окно на пути. Это кратко обсуждается в разделе ошибок root-tail
Страница человека.
В настоящее время большинство рабочих столов управляют "корневым окном" с наложенным окном. В LXDE это делается с pcmanfm
в GNOME это было nautilus
и у Unity есть своя вещь. То, что вы хотите сделать, это иметь вывод root-tail к этому оверлею.
- Откройте терминал (xterm, rxvt, gnome-терминал и т. Д.)
- Бежать
xwininfo
- Ваш курсор теперь изменился на перекрестие. Нажмите на свой фон.
- В выводе обратите внимание на строку, которая начинается с
xwininfo: Window id:
, Вы хотите следующий шестнадцатеричный номер. - Запустите root-tail, как и раньше, но добавьте
-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
"s -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)
Примечание: идентификатор окна вашего "управляемого фона", скорее всего, будет меняться при каждом сеансе.
Вы можете использовать Conky для отображения журналов с прозрачным окном, может быть что-то вроде этого:
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}
]];
Будет отображаться что-то вроде этого:
Программа наподобие htop - это специальная программа, разработанная на языке Си. Он использует библиотеку ncurses, которая позволяет программе управлять выводом в терминале, своего рода псевдо GUI. Чтобы получить тот же эффект, программа должна быть написана с использованием ncurses.