Como você obtém essas exibições de log transparentes?

1

Por isso, vi muitas exibições de logs transparentes ou registros em execução ou instâncias do htop em áreas que parecem ser fixas em uma área de trabalho. Eu acho que isso é algo como o rabo-de-rabo, mas não consigo fazer o rabo-de-raiz funcionar. Isso me faz suspeitar que ou está sendo feito de outra maneira ou o problema é trivial se você souber como consertá-lo. Qualquer um poderia ser o caso.

Então, tentei alguns exemplos:

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

O exemplo acima não mostra erros, mas também não exibe.

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)

Não. Atingiu novamente.

pistas?

    
por user447607 04.04.2015 / 03:08

3 respostas

3

root-tail está fazendo exatamente o que você quer, mas há outra janela no caminho. Isso é discutido brevemente na seção BUGS da man page de root-tail .

Atualmente, a maioria dos desktops gerencia a "janela raiz" com uma janela sobreposta. No LXDE isso é feito com pcmanfm , no GNOME era nautilus e o Unity tem seu próprio recurso. O que você quer fazer é ter uma saída de raiz para essa sobreposição.

  1. Abra um terminal (xterm, rxvt, gnome-terminal, etc)
  2. Executar xwininfo
  3. Seu cursor agora mudou para uma cruz. Clique no seu fundo.
  4. Na saída, observe a linha que começa com xwininfo: Window id: . Você quer o seguinte número hexadecimal.
  5. Execute a cauda como antes, mas adicione o sinalizador -id com o número hexadecimal da etapa anterior. ou seja: root-tail -g 800x250+100+50 -id 0x1000003 /var/log/syslog,green

Aqui está o que xwininfo parece para mim (como usuário do 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

Se eu kill pcmanfm (e abreviado a saída) você pode ver o que a janela raiz realmente é. É aqui que você está escrevendo quando não está usando root-tail -id flag:

❯ 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)

Observação: o ID da janela do seu "segundo plano gerenciado" provavelmente mudará a cada sessão.

    
por nega 07.08.2015 / 06:15
1

Você pode usar o Conky para exibir logs com uma janela transparente, algo assim:

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}
]];

Exibirá algo assim:

    
por John Tyler 09.05.2017 / 15:44
0

Um programa como o htop é um programa personalizado desenvolvido em linguagem C. Ele usa a biblioteca ncurses que permite ao programa gerenciar sua saída em um terminal, algum tipo de pseudo GUI. Para obter o mesmo efeito, um programa precisa ser escrito usando ncurses.

    
por kjohri 04.04.2015 / 03:23