Após uma atualização do Windows Update um notebook passou a não responder o comando de abrir a área de notificação e também o calendário.

A única solução foi registrar novamente o componente usando o comando abaixo dentro do PowerShell em modo administrativo:

Get-AppxPackage | % { Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppxManifest.xml” -verbose }

Instalar o PhpSpreadsheet para trabalhar com arquivos do Microsoft Excel no PHP pode ser uma necessidade básica de um projeto.

Utilize os comandos abaixo para preparar o ambiente:

sudo apt install composer php-fdomdocument php-gd php-mbstring php-zip

sudo systemctl reload apache2

Em seguida, o comando abaixo instala o componente para uso no PHP:

composer require phpoffice/phpspreadsheet

Nem todos aplicativos possuem assistentes de instalação para deixar atalhos no menu iniciar.

Nesses casos temos que botar a mão na massa, ou melhor, no terminal, para deixar esses atalhos com acesso mais imediato do que a execução direta chamando o aplicativo na pasta pelo explorer.

A partir do momento que conseguimos criar atalhos para o aplicativo na nossa área de trabalho usando o comando “Enviar para…” podemos recortar e colar esses atalhos na pasta do Iniciar (sim, o Iniciar é uma pasta no seu disco).

Abra a pasta abaixo copiando e colando seu endereço no Executar (Win + R):

mod_fcgid: read data timeout

Com essa pasta aberta, podemos colar nossos atalhos (não cole o arquivo original do aplicativo, nunca!) ou mesmo criar pastas específicas para organizar esses aplicativos.

Em seguida, devemos reiniciar nossa sessão no Windows ou, se preferir, reiniciar o explorer com os seguintes comando no Terminal (não é necessário abrir como Administrador):

taskkill /f /IM explorer.exe
start explorer.exe
exit

Dessa forma os atalhos/pastas já estarão presentes no menu Iniciar, onde podemos fixá-los no acesso rápido, por exemplo.

Boa sorte!

Caso tenha um notebook sobrando, você pode, com algum esforço, criar uma unidade de backup local para seu servidor NextCloud na nuvem.

Com a versão Server do Ubuntu instalada nesse note, veja algumas dicas abaixo para configurar uma rotina de backup automatizada.

Impedindo o desligamento do notebook ao baixar a tela
  • Edite o arquivo /etc/systemd/logind.conf
  • localiza e altere o parâmetro: HandleLidSwitch=ignore
  • Finalize com o comando: sudo service systemd-logind restart
Acessar dados do backup na rede local Windows

Permitir o acesso aos arquivos do backup na rede local através de uma pasta compartilhada é recomendável.

Um HD externo formatado com NTFS pode ser usado para gravar os dados em pasta compartilhada usada como SambaShare.

  • mapeie essa unidade na fstab para ser carregada automaticamente no boot
  • crie uma pasta na unidade externa
  • crie um symlink da pasta da unidade externa na pasta home do usuário da rede que irá acessar os dados localmente
  • modifique o smb.conf para registrar o compartilhamento
    • allow insecure wide links = yes (na seção global)
    • e na seção do compartilhamento:
      • follow symlinks = yes
      • wide links = yes
Fazendo backup para uma pasta local

Antes de baixar os dados, é necessário tirar o sistema do ar, copiar as pastas do sistema e de dados para uma pasta local e finalmente reativar o sistema. Dessa forma garantimos a atomicidade dos arquivos e separamos o trabalho de transferência do backup.

Colocar o NextCloud em modo de manutenção (na pasta raiz do sistema NextCloud. ex: /var/www/nextcloud):

sudo -u www-data php occ maintenance:mode --on

Este artigo documenta o processo de configuração para executar transformações do Pentaho em um aparelho Raspberry Pi 3 (nossa estação pi) com a imagem do Raspbian Stretch Lite (sem ambiente gráfico, com foco no kitchen).

A estação pi utilizada foi a 3 Model B com 1Gb de RAM.

Iniciamos já com a imagem instalada no cartão e o aparelho ligado em rede local configurado para acessar a Internet (um servidor DHCP na sua rede local pode ajudar muita nessa hora).

Essa imagem possui apenas o essencial do sistema operacional. Dessa forma vamos instalar uma série de dependências antes de iniciar a configuração do Pentaho para rodar na arquitetura ARM7. Lembrando que o suporte à essa plataforma não é oficial e nem suportado por mim ou pelos detentores dos direitos do Pentaho.

Aconselho alterar a senha padrão do usuário pi (raspberry) para algo que lhe seja familiar e seguro.

Vamos aos comandos.

Atualização do sistema:

sudo apt update
sudo apt upgrade
reboot

Ferramentas que utilizo durante as configurações:

sudo apt install nmap mc screen p7zip-full zip

Ativação do servidor ssh para acesso remoto à estação pi:

sudo systemctl start ssh
sudo systemctl enable ssh.service

Instalação do JAVA:

sudo apt install oracle-java8-jdk

Download do Pentaho 8.2 na estação pi (este link pode expirar no futuro):

wget -c https://razaoinfo.dl.sourceforge.net/project/pentaho/Pentaho%208.2/client-tools/pdi-ce-8.2.0.0-342.zip

Extração do pacote (o nome do arquivo pode mudar no futuro):

unzip pdi-ce-8.2.0.0-342.zip

Instalação das dependências:

sudo apt install libwebkitgtk-1.0
sudo apt install libswt-gtk-4-java
sudo apt install libswt-gtk-3-java
sudo apt install libswt-cairo-gtk-3-jni
mkdir -p "/home/pi/.swt/lib/linux/arm/"
ln -s /usr/lib/jni/libswt* /home/pi/.swt/lib/linux/arm/
cp /usr/share/java/swt-gtk-3.8.jar /home/pi/data-integration/libswt/linux/armv7l

Modificação do arquivo spoon.sh para a plataforma ARM7:

adicionar esse código dentro de “Linux)”, após “case $ARCH in”:

armv7l)
           LIBPATH=$CURRENTDIR/../libswt/linux/armv7l/
           ;;

trocar os parâmetros dessa linha:

PENTAHO_DI_JAVA_OPTIONS="-Xms256m -Xmx512m -XX:MaxHeapSize=512m"

Com isso é possível executar jobs no Raspberry Pi, mesmo levando em consideração as limitações da plataforma.

Boa sorte!

Ao restaurar um banco de dados em um servidor diferente do original é comum não ter o mesmo usuário registrado nesse novo servidor ou mesmo fazer a escolha de outro para uso em ambiente de produção.

O PostgreSQL vai proibir o acesso depois de uma restauração nesses casos por parte do aplicativo que usa um novo usuário.

Para atribuir esses privilégios a um usuário no banco de dados, abra o aplicativo psql como usuário postgres:

su postgres
psql nome_do_bd

Dentro do psql execute os comandos (atenção se seu schema não for o public):

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO nome_do_usuario;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO nome_do_usuario;