Instalando placa de tv PlayTVPVR e controle remoto - Precise/Xenial - ir post #3

Iniciado por boladegude, 13 de Maio de 2009, 19:03

tópico anterior - próximo tópico

boladegude

Percebi que não mencionei no guia de instalação, nem neste tópico que ...
O pacote zenity deve ser instalado pelo synaptic, caso não esteja já instalado no Ubuntu.

É que normalmente o zenity já vem instalado no Ubuntu 10.04, para o qual este sistema de controle remoto é voltado.
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

Estender as tarefas a serem finalizadas ou realizadas em hibernate para hibernações chamadas por qualquer forma:

Há uma maneira melhor e mais correta de chamar shutdown_tasks...
Chamando desta nova forma os aplicativos que necessitam ser fechados antes de hibernar serão fechados em qualquer hibernação, e não só quando o controle remoto hiberna.

Proceda assim:

Na pasta ~/bin
no script simulate_activity
na linha 132
comente
   #shutdown_tasks &

Inicio Editado 21/01/2012 (bug):
Ao invés de fazer esta correção, siga todos os procedimentos do post #26

Na pasta /etc/pm/sleep.d
no script in_out_suspend
Vá na linha 20, dentro de hibernate[suspend]
acrescente logo abaixo da linha 20...
       sudo LANG=pt_BR.utf8 LANGUAGE=pt_BR:pt:en -u username -i shutdown_tasks
(obs.: substitua username pelo nome de username que você utilizou)
Fim Editado 21/01/2012:

A partir de agora shutdown_tasks é um recurso que você tem para qualquer tipo de suspend ou hibernação.


Segue uma cópia do meu próprio shutdown_tasks com os programas que necessitam ser finalizados ao hibernar aqui no meu computador:

#!/bin/bash
# nome do arquivo: shutdown_tasks
#===========================================
# Coloque aqui as tarefas a serem executadas
# ou programas a serem encerrados
# antes de o computador ser hibernado!
#===========================================

# [Editado...
# Correção:
# Desta forma não hiberna se o processo não está rodando no momento da hibernação por causa do erro em pkill!
# A forma correta de finalizar os processos está colocada logo abaixo
##pkill -TERM utorrent
##pkill -TERM skype
# ]


# obs.: somente se o processo está rodando, dá um pkill no mesmo.
processes="utorrent.exe skype"

for i in $processes; do
if ps -C $i >&- 2>&-
then
 pkill -TERM $i
fi
done


# Caso queira conferir se foi rodado esse script ao rodar suspend ou hibernate
#zenity --info --text="OK, Tarefas encerradas para hibernate!" &
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

Citação de: boladegude online 23 de Maio de 2011, 21:21
       sudo LANG=pt_BR.utf8 LANGUAGE=pt_BR:pt:en -u username -i shutdown_tasks

A propósito, no script in_out_suspend, substitua as ocorrências de LANG e LANGUAGE pelo seu idioma.
Para saber qual o conteúdo de LANG e LANGUAGE no seu idioma digite numa janela de terminal...
env
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

Se você utiliza skype e quer reabilitá-lo após hibernar, de forma que o skype esteja sempre funcional, leia o tópico...
http://ubuntuforum-br.org/index.php/topic,83583.0.html
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

Olá,

Havia uma incorreção no script shutdown_tasks no post #16.
Se era dado um pkill num processo que não estava rodando, ocorria um erro em pkill, e a hibernação era interrompida.
Corrija o script shutdown_tasks, conforme indicado no post #16, para que seja dado pkill somente nos processos que estão rodando.

Abraço,
boladegude.
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

Solução para o problema da janela do rhythmbox que às vezes não abre:


Crie, na pasta ~/bin, o seguinte script com o nome de set_open_win_rhythmbox, e dê permissão para execução...

--------- (inicio script)

#!/bin/bash
# nome do arquivo: set_open_win_rhythmbox

# Ajusta para que o rhythmbox seja lançado com a janela aberta

gconftool -s /apps/rhythmbox/plugins/status-icon/window-visible -t bool true


--------- (fim script)


Abra o arquivo .lircrc na pasta ~
E na linha 79 faça a seguinte modificação...

Remova a linha 79, mostrada aqui...
 config = (rec_r && (notify_open; init_mute_rhythmbox; screen_saver_off rhythmbox; open_win_rhythmbox; save_grp_wid Reprodutor de músicas; notify_close))

E substitua por isto, na linha 79...
 config = (rec_r && (notify_open; init_mute_rhythmbox; set_open_win_rhythmbox; screen_saver_off rhythmbox; save_grp_wid Reprodutor de músicas; notify_close))


Referência: http://nickhumphrey.net/showthread.php?t=2140
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

[Bug]

Abra o arquivo .lircrc na pasta ~ e substitua todas as ocorrências de pkill por killall.

pkill só funciona entrando o nome do processo truncado como está na listagem de grep.
E por isso o adiamento da hibernação ao pressionar botões do controle remoto não estava funcionando.
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

[Bug]

==================================================
No script simulate_activity na pasta ~/bin

Recorte a linha 27...
trap "let suspend_pc=0" USR1

e cole na linha 2, assim...
#!/bin/bash
trap "let suspend_pc=0" USR1
# nome do arquivo: simulate_activity
...
==================================================

Nota:
É que o comando...
config = killall -USR1 simulate_activity
... em .lircrc, às vezes, era recebido pelo script simulate_activity antes
de o comando trap na linha 27 ser rodado, e assim o script era encerrado.
Isto fazia com que o screen saver não fosse desativado e mais outras coisas.
Agora, rodando o trap logo que o script inicia, espera-se que resolva o problema.

Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

Hoje substituí o teclado USB que eu tinha por um PS/2

O controle remoto parou de funcionar.

O que ocorreu? É que com a retirada do teclado USB o evento do controle remoto passou de event6 para event5
E consequentemente o evento do mouse do controle remoto passou de event7 para event6.

Solução:
======================
1)
Digitei:
sudo cat /proc/bus/input/devices
... bla bla bla...
I: Bus=0001 Vendor=14f1 Product=8800 Version=0001
N: Name="cx88 IR (Prolink PlayTV PVR)"
P: Phys=pci-0000:02:0d.0/ir0
S: Sysfs=/devices/pci0000:00/0000:00:1e.0/0000:02:0d.0/input/input7
U: Uniq=
H: Handlers=kbd event5
B: EV=100003
B: KEY=2c0814 100004 0 0 0 4 2008000 2090 2001 1e0000 4400 0 ffc

2)
Digitei:
sudo dpkg-reconfigure lirc

Na sequencia de menus fui escolhendo...
- Linux input layer (/dev/input/eventX)
- None
- /dev/input/event5  <----

Pronto o lirc foi reconfigurado.

3)
Em xorg.conf, troquei a linha...
       Option      "Device" "/dev/input/event7"
por...
       Option      "Device" "/dev/input/event6"
Salvei o arquivo.

4)
Digitei:
sudo dpkg-reconfigure xserver-xorg

5)
Cliquei no menu Aplicativos > Outros > Reinicia a placa PlayTV (que nós mesmos criamos)
e reiniciei o lirc.
======================

Pronto!!!
O controle começou a funcionar normal de novo inclusive o mouse pelo controle remoto.

Caso ocorra uma situação assim na sua máquina (ao trocar um teclado ou algo parecido) dá para se orientar por este post.
Apenas os números dos eventos poderão ser diferentes no seu caso (eventN).



Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

[Bug]

Na pasta ~/bin
nos scripts save_sel_wid e save_grp_wid

substitua as ocorrências de...
"$timeout" -gt 10
por..
"$timeout" -gt 15
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

Para ajustar os parâmetros de velocidade e aceleração do mouse por controle remoto no seu sistema...
entre na pasta ~/bin
no scritpt mouse_on
e procure por
# xinput "polynomial"
chegando lá veja os valores que atendem melhor seu controle remoto para...
# configura a velocidade do repeat rate
   e
# "trashold numerador denominador"

Isto é para o caso de você utilizar este sistema de controle remoto com outra placa que não a PlayTV,
ou para o caso de estes parâmetros não terem ficado bem em sua máquina.

[ Ediatado 30/04/2012
Mudei # "trashold numerador denominador"
de
0 40 10 para
0 45 10 e ficou bem mais ágil
mas ficou com pouca precisão
aí voltei para
0 40 10
]

Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

[Bug]

(complemento ao post #16)

Quando fui instalar o sistema de controle remoto em outra máquina, o script in_out_suspend em /etc/pm/sleep.d não funcionou mais na parte do "thaw|resume)".
Siga os procedimentos descritos aqui para evitar inconsistência após suspend ou hibernação.

Foi necessário fazer o seguinte para que os scripts funcionassem aqui na nova máquina na parte "thaw|resume)" também...

1)
Apague o script in_out_suspend assim...
sudo rm /etc/pm/sleep.d/in_out_suspend
...desmembraremos ele em dois outros...

2)
Crie o primeiro script.
As instruções de como criar estão no início do script.

------ inicio script 5_in_suspend

#!/bin/bash

# sudo su
# cd /etc/pm/sleep.d
# gedit 5_in_suspend &
# e coloque isto... (depois salve e execute chmod 755 5_in_suspend)
# substitua as ocorrencias de username por seu nome do diretório home

. /usr/lib/pm-utils/functions

case "$1" in
   hibernate|suspend)
# crie o arquivo /home/user/.Xauthority
export DISPLAY=:0.0
       export XAUTHORITY=/home/username/.Xauthority

       # placa de tv e lirc
       # finaliza o aplicativo (pid) que ficaria errático na volta após o resume,
       # finaliza simulate_activity e reinicia os flags.
       sudo LANG=pt_BR.utf8 LANGUAGE=pt_BR:pt:en -u username -i screen_saver_on

       sudo LANG=pt_BR.utf8 LANGUAGE=pt_BR:pt:en -u username -i shutdown_tasks
   ;;
   *)
   ;;
esac

exit


------ fim script 5_in_suspend

3)
Crie o segundo script.
As instruções de como criar estão no início do script.

------ inicio script 15_out_suspend

#!/bin/bash

# sudo su
# cd /etc/pm/sleep.d
# gedit 15_out_suspend &
# e coloque isto... (depois salve e execute chmod 755 15_out_suspend)
# substitua as ocorrencias de username por seu nome do diretório home

. /usr/lib/pm-utils/functions

case "$1" in
   thaw|resume)
# crie o arquivo /home/user/.Xauthority
export DISPLAY=:0.0
       export XAUTHORITY=/home/username/.Xauthority

       # placa de tv e lirc
       # reinicializa placa de tv e lirc que ficam erráticos após resume
/usr/local/bin/pvr1

       # irexec também fica errático, mas        
       # só pode ser lançado após o inicio da sessão na tela!
       # resolvido com o script reactivate_irexec
       # sudo -u username -i irexec -d & <-- assim não lança irexec corretamente
       # nos aplicativos, não hiberna mais, não mostra mais as partições NTFS e sei lá mais o que !?!?
   ;;
   *)
   ;;
esac

exit


------ fim script 15_out_suspend

4)
Explicação...
Na pasta /etc/pm/sleep.d existem dois scripts do sistema com numeração "10_" no início. Parece que a ordem de ocorrência de "suspend" e "resume" devem ocorrer em sequência e levando em consideração esses scripts.
O script começando com "5_" será o primeiro a ser executado.
O script começando com "15_" será o último a ser executado.

Abraço,
boladegude.
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

Há uma atualização no post #10 sobre configuração do som na gravação de TV...
http://ubuntuforum-br.org/index.php/topic,50441.msg448557.html#msg448557
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude


[Bug]
versões 1.02 e 1.03 <--- só na 1.02. Restaure simulate_acitity original na versão 1.03, caso tenha mudado. (sorry  ;D)


Bug em simulate_activity.

Se o aplicativo em fulscreen desabilitar dpms e mais adiante der crash, deixará o dpms desabilitado em tela normal (sem fullscreen).

Isso fará com que simulate_activity não apague mais o monitor, e em consequência o computador não será mais posto em hibernação.

Solução:

1)
Faça download do novo arquivo simulate_activity do link http://www.divshare.com/download/16947432-a0e
2)
Copie esse arquivo para ~/bin, sobrescrevendo o anterior.
De permissão para execução!

E pronto, agora os aplicativos chamados pelo controle remoto poderão dar crash sem causar problema para o sistema de proteção de tela e hibernação.

Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

boladegude

Hoje fiz as atualizações do Ubuntu e foi instalado o kernel 2.6.32-39-generic.
Foi preciso fazer o seguinte para reabilitar o controle remoto:

(procurar o evento do dispositivo de controle remoto)
sudo cat /proc/bus/input/devices
(reconfigurar lirc)
sudo dpkg-reconfigure lirc

E logo após...

Aplicativos > Outros > Reinicia a placa PlayTV
(ou reiniciar a máquina)
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.