quinta-feira, 5 de outubro de 2023

VirtualBox - Linux Guest Aditions

 Testado com host VirtualBox 7.0 e guest Lubuntu 20.04 LTS.

 

Para utilizar o Guest Aditions é necessário instalar kernel modules (cf. https://www.virtualbox.org/manual/ch02.html#externalkernelmodules), no caso do Lubuntu já tem os headers instalados foi apenas necessário instalar GCC e make:

sudo apt install gcc make

De seguida é necessário ir a Devices e Insert Guest Aditions CD... De onde será necessário executar com sudo o instalador para linux:

sudo ./VBoxLinuxAdditions.run

Para aceder a pastas partilhadas do host no guest é necessário adicionar o grupo vboxsf ao utilizador no guest (cf. https://dev.to/rahedmir/virtualbox-cannot-access-shared-folder-items-permission-denied-fixed-59mi):

sudo usermod -a -G vboxsf utilizador

Depois de reiniciar é possível aceder a pastas partilhadas do host.

sábado, 30 de setembro de 2023

Clonezilla - Erro com partição NTFS is scheduled for a check

Ao realizar o clone de uma disco com uma partição NTFS suja o Clonezilla não consegue concluir o processo e apresenta uma mensagem parecida com a seguinte:

NTFS Volume '/dev/sdaX' is scheduled for a check or it was shutdown uncleanly. Please reboot Windows or fix it by fsck.

Abortando o resto do clone ´é possível aceder a uma consola e corrigir os problemas na partição NTFS com:

sudo ntfsfix /dev/sdaX

sudo ntfsfix -d /dev/sdaX

Depois resta iniciar o clonezilla novamente com:

ocs-live

E repetir o processo de criação do clone.

 


terça-feira, 29 de agosto de 2023

Testar Velocidade do Armazenamento

Escrita | Testar a velocidade de escrita

dd bs=128k count=100k if=/dev/zero of=test conv=fdatasync

Exemplo num array RAID1 com 2x M.2 NVMe 1TB
102400+0 records in
102400+0 records out
13421772800 bytes (13 GB, 12 GiB) copied, 7.80817 s, 1.7 GB/s

Exemplo num array RAID1 com 2x SATA6G HDD 1TB
10240+0 records in
10240+0 records out
1342177280 bytes (1.3 GB, 1.2 GiB) copied, 14.8238 s, 90.5 MB/s
 

Leitura | Testar a velocidade de leitura

hdparm -Ttv /dev/mapper/vg1-lv_root

/dev/mapper/vg1-lv_root:
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 0/0/0, sectors = 1950203904, start = 0
 Timing cached reads:   36902 MB in  2.00 seconds = 18478.49 MB/sec
 Timing buffered disk reads: 10242 MB in  3.00 seconds = 3413.64 MB/sec


Referências

[1] Which benchmark utilities are recommended for testing NVMe transfer performance in a Linux Environment?

sexta-feira, 4 de agosto de 2023

Som em Debian GNU/Linux

Com o alsamixer é possível definir som nas colunas e headphones:


Front e Headphones podem estar ambos ativados (sem Mute tecla 'M').

No caso de ser um sistema surround é possível definir também os restantes canais.

Existe ainda o pavucontrol que permite fazer o controlo de volume com interface gráfica através do pulseaudio mas sem possibilidade de ativar ambos os dispositivos.

É possível ver e controlar o volume de som dos vários programas:

amixer (cli)

Listar faders default:

amixer

Listar faders da placa 0:

amixer --card 0

Definir volume dos headphones da placa 0 para 80:

amixer --card 0 sset 'Headphone' 80

 

 

quinta-feira, 20 de outubro de 2022

Android - Gestão APK com ADB

Android - Ativar modo de Programador to Settings

Para ativar o modo de Programador é necessário:

Definições > Sobre o Dispositivo

Clicar 7 vezes consecutivas no número da compilação para ativar o modo de Programador


Android - Ativar depuração USB

Para ativar a depuração por USB é necessário:

Definições > Opções do programador

Ativar a depuração por USB


ADB - Instalação

É possível instalar o adb a partir dos repositórios:

sudo apt install adb


ADB - Utilização

Para iniciar o servidor adb:

adb start-server


Ligar o dispositivo android com a opção de depuração USB ativa por USB ao computador.

No android é apresentada mensagem para confirmar que se confia na ligação adb.

Listar pacotes instalados no dispositivo

adb shell pm list packages

É necessário procurar o nome do pacote. Na play store o URL da aplicação tem o nome do pacote.

Obter Path de um pacote

adb shell pm path nome_do_pacote

Extrair pacote para APK

adb pull data/app/nome_do_pacote_na_path/base.apk /caminho/nome.apk

Instalar APK no dispositivo

adb install -r /caminho/nome.apk  




Referências

https://stackoverflow.com/questions/4032960/how-do-i-get-an-apk-file-from-an-android-device

https://www.vrtourviewer.com/docs/adb/

segunda-feira, 20 de dezembro de 2021

Kodi - Netflix, HBO, Disney+ e Amazon Prime Video

 

Utilização de um Raspberry Pi com LibreELEC e Kodi para ver Netflix, HBO Portugal, Disney Plus e Amazon Prime Video

Ao longo dos anos a utilização de um raspberry pi para transformar uma televisão estúpida numa televisão esperta foi uma opção muito válida.

Agora com os serviços de streaming legais e disponíveis em Portugal a sua utilização num simples Raspberry Pi eleva ainda mais a inteligência de qualquer televisão.

Mais, qualquer televisão que tenha ficado burra (porque deixou de ter suporte para as atualizações dos serviços de streaming) pode recuperar alguma inteligência.

O sistema está operacional num Raspberry Pi 4B, com o LibreELEC num cartão de 16GB (é necessário ter algum espaço, no mínimo deverá utilizar-se um cartão de 8GB).

HBO Portugal

A instalação do Add-On para a HBO Portugal é simples e encontra-se disponível no repositório oficial.

Assim, basta aceder aos Add-Ons e Instalar a partir de um repositório. Na secção de Vídeos Add-Ons é necessário procurar por hGO EU e instalar.

Após a instalação o AddOn ficou disponível mas ao abrir será necessário instalar ainda o InputStream Adaptative que instalará também o WidevineCDM (ver) e que demora algum tempo.

Na configuração do Add-On é necessário escolher o País e no caso de Portugal escolher o tipo de utilização, neste caso foi escolhido o HBO Portugal. A lista de países suportadas é extensa.

Na primeira inicialização será preciso introduzir as credenciais de acesso à HBO Portugal e começar a utilizar o Add-On que funciona muito bem.


Netflix

Há pouco tempo experimentei novamente a instalação do AddOn Netflix utilizando o LibreELEC com a última versão do Kodi e os passos dados foram substancialmente mais simples.

Acedendo por SSH é possível descarregar o ZIP do repositório CastagnaIT diretamente para o raspberry pi (também é possível transferir utilizando outras formas, por exemplo, por pen ou SAMBA):

ssh root@LibreELEC

Kodi 18 - Leia
wget https://github.com/castagnait/repository.castagnait/raw/master/repository.castagnait-1.0.1.zip
 
Kodi 19 - Matrix
wget https://github.com/castagnait/repository.castagnait/raw/matrix/repository.castagnait-1.0.0.zip

Após estes comandos podemos aceder ao Kodi e será necessário ir a Sistema e ativar Fontes Desconhecidas para ser possível utilizar o repositório CastagnaIT.

Nos Add-Ons é necessário aceder a Instalar a partir de um ZIP e escolher o ficheiro ZIP descarregado anteriormente (que deve estar na pasta home).

Depois de instalado é possível entrar no repositório CastagnaIT e instalar o Add-On Netflix que está em Video Add-Ons.

A instalação demora um pouco e depois é possível abrir o Add-On.

Mesmo que não esteja instalado o Widevine CDM o AddOn funciona deixando navegar por todo o conteúdo e apenas pedindo para ser instalado aquando da primeira reprodução de um qualquer conteúdo.

Disney+

A instalação do Add-On é similar à instalação do serviço Netflix pois necessita de ser instalado também um repositório não oficial, neste caso o SlyGuy.

ssh root@LibreELEC

wget https://k.slyguy.xyz/repository.slyguy.zip

Será agora necessário em Add Ons instalar o repositório através do ZIP descarregado e a partir daí procurar pelo Add On Disney Plus e instalar.

Depois resta efetuar login com uma conta que tenha o serviço ativo.

 

Amazon Prime Video - Portugal

A instalação do Add-On é similar à instalação do serviço Netflix pois necessita de ser instalado também um repositório não oficial, neste caso o Sandmann79 / xbmc.

ssh root@LibreELEC

Kodi 18 - Leia
wget https://github.com/Sandmann79/xbmc/releases/download/Repository/repository.sandmann79.plugins-1.0.3-leia.zip
 
Kodi 19 - Matrix
https://github.com/Sandmann79/xbmc/releases/download/Repository/repository.sandmann79-py3.plugins-1.0.0-matrix.zip

 

Será agora necessário em Add Ons instalar o repositório através do ZIP descarregado e a partir daí procurar pelo Add On Amazon Prime Video e instalar.

Depois resta efetuar login com uma conta que tenha o serviço ativo.



Para estes AddOns funcionarem será necessário ter instalado o Widevine CDM. Qualquer um deles, caso seja necessário, pedirá para se instalar o Widevine CDM e basta seguir os diferentes passos. Só é necessário instalar uma vez.

Atenção que será necessário bastante espaço para fazer as operações necessárias (>3GB) por isso convém ter um cartão com espaço e aguardar que a instalação termine (ainda é um processo demorado).


Problemas

Caso a imagem esteja desfasada do som/legendas pode ser necessário aceder às Definições do Add-on e baixar a qualidade.
No Raspberry Pi 3 B+ standard é possível utilizar a qualidade 720p sem qualquer problema. O 1080p funciona bem em animação mas não dá para ver conteúdos de imagem real de forma minimamente aceitável.
No Raspberry Pi 4B (testado nas versões de 2GB e 4GB de RAM) funcionou bem sem qualquer problema.

Referências

sábado, 4 de dezembro de 2021

Instalação de cliente VPN com SNX - Debian

Instalação do cliente SSL Network Extender para ligação à VPN da Universidade de Aveiro.


Instalar o software cliente

Descarregar o instalador a partir do site
https://www.ua.pt/pt/stic/teletrabalho_vpn

Extrair do zip e instalar segundo as instruções.


Verificar bibliotecas em falta

sudo ldd /usr/bin/snx

    linux-gate.so.1 (0xf7f7e000)
    libX11.so.6 => not found
    libpthread.so.0 => /lib32/libpthread.so.0 (0xf7f30000)
    libresolv.so.2 => /lib32/libresolv.so.2 (0xf7f10000)
    libdl.so.2 => /lib32/libdl.so.2 (0xf7f08000)
    libpam.so.0 => not found
    libnsl.so.1 => /lib32/libnsl.so.1 (0xf7ee8000)
    libstdc++.so.5 => not found
    libc.so.6 => /lib32/libc.so.6 (0xf7cf8000)
    /lib/ld-linux.so.2 (0xf7f80000)


É sugerido instalar os seguintes pacotes:

apt install libstdc++5:i386 libpam0g:i386 libx11-6:i386

Como são pacotes para a arquitetura i386, no caso de dar erro é necessário adicionar a arquitetura e atualizar a cache de pacotes:

dpkg --add-architecture i386

apt update

De seguida já será possível instalar as dependências sem erros:
apt install libstdc++5:i386 libpam0g:i386 libx11-6:i386


Utilizar o cliente snx

Iniciar sessão na VPN

snx -s go.ua.pt -u user@ua.pt


Terminar sessão na VPN

snx -d

sábado, 12 de dezembro de 2020

Dança das Cadeiras - Script

O jogo da Dança das Cadeiras é necessário que a música páre aleatoriamente para que os jogadores possam disputar as cadeiras livres.

Uma forma simples de se alcançar isso com o audacious é colocar a reproduzir uma música e utilizar o comando sleep para esperar aleatoriamente e depois pausar a reprodução com a ferramenta audtool:

sleep $((15 + RANDOM % 30)) && audtool --playback-pause

 

Para se repetir rapidamente na consola sem ser necessário iniciar a reprodução novamente no audacious é possível utilizar o seguinte:

audtool --playback-pause && sleep $((15 + RANDOM % 30)) && audtool --playback-pause


sábado, 27 de junho de 2020

Windows 10 Ambiente de Trabalho remoto através de um túnel SSH

A PowerShell do Windows 10 pode ter o cliente de SSH instalado e funcionar tal como num sistema Linux.

Verificar se cliente OpenSSH está instalado

Para se verificar se o cliente OpenSSH está instalado é necessário iniciar a PowerShell como administrador e introduzir o comando:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Caso seja apresentado Installed é porque está instalado.

No caso de não estar instalado é possível instalar.

Instalar o cliente OpenSSH na PowerShell

Caso seja necessário instalar o cliente OpenSSH é necessário iniciar a PowerShell como administrador e utilizar o comando:
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Criar tunnel SSH com Port Forwarding

Na Linha de Comandos ou na PowerShell é possível ligar a um servidor SSH remoto e criar dentro dessa ligação um encaminhamento de porto (Port Forwarding) que permita aceder, por exemplo, a um ambiente de trabalho remoto noutra máquina que esteja na mesma rede remota.


Assim, o cliente precisa de iniciar uma ligação SSH ao servidor SSH no porto 22. De seguida tem que ser criado um porto na máquina cliente ligado ao porto 3389 do servidor RDP e que permitirá utilizar o porto local como se fosse de facto o porto remoto.

Esta abstração é feita com a opção -L do comando SSH onde é possível indicar:
[Porto Local]:[IP da máquina remota que disponibiliza o serviço]:[Porto do serviço]

A opção -N permite que não seja executado qualquer comando na máquina remota, pois apenas é necessário o encaminhamento de portos.

A opção -l permite especificar o nome de utilizador para o servidor SSH.

A opção -p permite especificar um porto diferente para o servidor SSH (caso não seja o porto 22 por defeito).

ssh -N -L 13389:[Windows RDP Server]:3389 [SSH Server] -l [ssh username]




Ligação de Ambiente de Trabalho Remoto ao tunnel

A partir daqui o porto local 13389 será uma ligação direta ao porto 3389 da máquina servidora de RDP. Esta ligação é criada dentro da ligação SSH e é, por isso, encriptada.

Através da Ligação de Ambiente de Trabalho Remoto é possível ligar ao servidor RDP remoto utilizando o porto local:

localhost:13389




Terminar a ligação

Para terminar a ligação resta fechar a Ligação de Ambiente de Trabalho Remoto e pressionar CTRL+C para terminar o comando SSH.


domingo, 21 de junho de 2020

Kodi - Youtube AddOn

A instalação do plugin Youtube no Kodi não funciona imediatamente.

Indica que é necessário instalar as chaves de API. Para tal é necessário criar um projeto na consola de developers de uma conta Google.

O processo encontra-se descrito na documentação do plugin e em diversos vídeos e tutoriais.

Criação das Chaves

É necessário aceder a uma conta Google e depois à consola de Developers:

Éé necessário criar um novo projeto:

Deve definir-se o nome do projeto:
Na Biblioteca de API é possível ver as API disponíveis, no caso de ainda não ter qualquer API é preciso acrescentar:

Da lista de API's disponíveis deve escolher-se a YouTube Data API:

E de seguida deve ativar-se:

Ao ativar será necessário criar credenciais para a sua utilização:

No assistente de criação de credenciais deve selecionar-se a API do YouTube, Other UI e User Data. No final deve clicar-se em no botão que contém a pergunta What credentials do I Need?:


Se seguida serão criadas credenciais de autenticação OAuth e é necessário definir o consentimento:

Na nova aba/janela é necessário configurar o tipo de consentimento, neste caso como External e Criar:

No passo seguinte é necessário definir algumas informações genéricas para a nossa API:

Após salvar é necessário regressar à aba/janela original:

E aqui adicionar as credenciais ao projeto, indicando um nome para o cliente OAuth 2.0 e criando o OAuth client ID:

Após a criação do OAuth Clinet ID este passo está concluído:

De seguida é preciso criar uma chave API:

Depois de criada é resta fechar a janela:

No ecrã de Credenciais é possível ver a chave API e o ID de cliente OAuth:

Para se saber o OAuth Client Secret é necessário editar o OAuth Client:

Resta guardar estas informações que correspondem
  • API Key » API Key
  • OAuth client ID » API Id
  • OAuth client secret » API Secret

Configuração do YouTube AddOn no Kodi

Existem diversas opções para configuração do AddOn YouTube no Kodi e, dependendo da forma como está a ser utilizado o Kodi, umas poderão ser mais fáceis do que outras:
  1. Configurar diretamente o AddOn no Kodi introduzindo manualmente todos os valores
  2. Ativar no AddOn: Enable API configuration page e depois configurar os valores através do browser
  3. Fechar o Kodi e editar manualmente o ficheiro userdata/addon_data/plugin.video.youtube/api_keys.json


Configuração através da página web de configuração do AddOn

Como normalmente utilizo o Kodi numa televisão com um Raspberry Pi através do LibreELEC ou OSMC, o mais simples é mesmo ativar a API configuration page e num computador copiar/colar os valores.

No Kodi é necessário aceder à configuração do AddOn YouTube e ativar: Enable API configuration page

De seguida num browser com acesso aos dados da API abrir a página:

Devem colar-se as informações guardadas anteriormente e Guardar:

De seguida deve desativar-se o acesso à página de configuração da API e poder-se-á começar a utilizar o AddOn normalmente no Kodi.