quarta-feira, 22 de novembro de 2017

PostgreSQL acesso remoto utilizando pgAdmin

Liberando a máquina para ser acessada remotamente.

======================================

O que fazer no arquivo: postgresql.conf

root@debian9cris:~# gedit /etc/postgresql/9.6/main/postgresql.conf

Alterar o arquivo: postgresql.conf

Retirar o comentário da linha e adicionar *:

listen_addresses = '*'        # what IP address(es) to listen on;

Retirar o comentário da linha:

port = 5432                # (change requires restart)

======================================

O que fazer no arquivo: pg_hba.conf

root@debian9cris:~# gedit /etc/postgresql/9.6/main/pg_hba.conf

Adicione a seguinte linha (ou alterar o número: 127.0.0.1/32 para 0.0.0.0/0) :

# IPv4 local connections:
host    all             all             0.0.0.0/0            md5

======================================

Para acessar basta utilizar o pgadmim.

Clicar em: "Add a connection to a server."

Name: texto para identificar o servidos na árvore do pgAdmin;

Host: endereço IP da máquina para entrar em contato. Para acessar local, pode ser preenchido com "localhost".

Port: 5432

Service: nome de um serviço configurado no arquivo pg_service.conf.

Maintenance DB:  usado para especificar o banco de dados inicial com o qual o pgAdmin se conecta. No PostgreSQL 8.1 e acima, o Maintenance DB normalmente é chamado de 'postgres', e nas versões anteriores 'template1' é freqüentemente usado, embora seja preferível criar um banco de dados 'postgres' para este fim para evitar a confusão no banco de dados do modelo.

Username: nome do usuário

Password: senha criada para o role (usuário)
-> entrar no terminal
-> acessar um banco de dados de algum role
-> dentro do banco de dados especificar uma senha para role corrente
-> comando: \password role
-> Exemplo: cadastro=> \password estudante
-> nesse exemplo está sendo criado uma senha para o role estudante, estando dentro do bando de dados cadastro


======================================

Referências:

https://www.pgadmin.org/docs/pgadmin3/1.22/connect.html

https://www.vivaolinux.com.br/dica/Acesso-externo-no-PostgreSQL-8.4

https://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html

http://www.postgresql-archive.org/Exemplo-de-Configuracao-pg-hba-conf-para-acesso-remoto-td2035140.html

segunda-feira, 24 de julho de 2017

Editando PDF com pdftk

Primeiramente instale o pdftk

# apt install pdftk

=================================

girar a primeira página de um pdf que contém duas páginas:

$ pdftk resposta.pdf cat 1south 2-end output teste.pdf

=================================

girar todo documento:

$ pdftk Proposta1.pdf cat 1-endnorth output proposta2.pdf

=================================

Unir / juntar pdf's

$ pdftk Arquivo1.pdf Arquivo2.pdf output ArquivoFinal.pdf

Fontes:
http://www.edivaldobrito.com.br/como-juntar-e-dividir-arquivos-pdf-linux/
https://makandracards.com/makandra/1487-rotate-a-pdf-under-ubuntu-linux

segunda-feira, 26 de junho de 2017

Debian 9 stretch 64bits xfce - o que fiz depois que instalei...

instalação feita em 24/06/2017

=============================================================

gravando a imagem em um pendrive:
# lsblk
# dd if=debian-9.0.0-amd64-DVD-1.iso  of=/dev/sdb bs=8MB

=============================================================

Instalando o driver proprietário da placa de vídeo

The AMD/ATI graphics processing unit (GPU) series/codename of an installed video card can usually be identified using the lspci command.
For example:
$ lspci -nn | grep VGA

https://wiki.debian.org/AtiHowTo
Debian Stretch (testing)
Debian Stretch comes with the latest MESA version which supports DRI Offloading.
Make sure both Intel and radeon drivers are installed.
It also needs firmware-linux-nonfree package to get it to work.

firmware-linux-nonfree

https://packages.debian.org/search?keywords=firmware-linux-nonfree

https://packages.debian.org/stretch/firmware-linux-nonfree
Download do arquivo:
firmware-linux-nonfree_20161130-3_all.deb

https://packages.debian.org/stretch/firmware-amd-graphics
Download do arquivo:
firmware-amd-graphics_20161130-3_all.deb

https://packages.debian.org/stretch/firmware-misc-nonfree
Download do arquivo:
firmware-misc-nonfree_20161130-3_all.deb

Instalação:

# dpkg -i firmware-amd-graphics_20161130-3_all.deb

# dpkg -i firmware-misc-nonfree_20161130-3_all.deb

# dpkg -i firmware-linux-nonfree_20161130-3_all.deb

Reiniciar o sistema

Para testar:

$ glxgears -info

$ xrandr --listproviders

=============================================================

Configurando as abas do Mozilla Firefox para salvar ao sair
https://www.tecmundo.com.br/9317-como-resgatar-a-opcao-salvar-e-sair-no-firefox-4.htm

Digite “about:config” na barra de endereços do navegador para abrir a aba de configurações.

Digite o termo “browser.showquitwarning” na caixa de pesquisa.

Uma entrada vai aparecer e ela terá o valor “false”. Clique com o botão direito sobre ele e, em seguida, em “Inverter valor”.

Instalando programa para download de vídeos do youtube
Extensões
video DownloadHelper

Instalando acelerador de vídeos do youtube
Extensões
youtube video player speed

=============================================================

Painel do xfce sumiu, resolvi assim:

Digitar ALT+F2 e digitar xfce4-panel, depois pedir para reiniciar e marcar a opção "Salvar sessão para próximos inícios"

=============================================================

comentar a linha do cd no source.list
# mousepad /etc/apt/sources.list

# apt-get install gedit

Alterar as cores do gedit

# apt-get install htop

# apt-get install inkscape

# apt-get install xournal

# apt-get install xscreensaver
Após instalar abrir o protetor de tela para ativar (Alt+F3 e digitar Protetor de tela)

# apt-get install xscreensaver-data-extra
# apt-get install xscreensaver-gl-extra

=============================================================

Configurando o painel

--> tamanho da linha = 40
--> formato do relógio = %H:%M:%S %a %n %d / %m / %y

adicionar "PulseAudio Plugin"

adicionar "Monitor de Carga do Sistema"

adicionar "Monitor de Frequência da CPU"

adicionar "Monitor da bateria"

adicionar "Monitor da Rede"
Ir ao terminal para ver o valor a preencher no "Dispositivo de rede"
https://linuxconfig.org/how-to-install-missing-ifconfig-command-on-debian-linux
# ip address
# ip a
O valor que aparece depois do número 2: e antes dos :
Exemplo de valores: enp0s25, eth0
Máximo: 800 KB/s
Mínimo: 200 KB/s

=============================================================

Instalando o Mega

https://mega.nz/

Apps --> Sync Client

https://mega.nz/sync

# dpkg -i megasync-Debian_9.0_amd64.deb
# apt-get -f install

Removendo o Mega
https://elias.praciano.com/2014/04/como-desinstalar-programas-no-linux/

# dpkg --remove megasync

Use a opção purge para remover também os arquivos de configuração:

# dpkg --purge megasync

# apt autoremove

Se você instalou com o apt-get:
$ sudo apt-get remove nome_do_pacote
Use a opção purge para remover também os arquivos de configuração:
$ sudo apt-get --purge nome_do_pacote
=============================================================

instalando o Dropbox

https://www.dropbox.com/pt_BR/?landing=cntl

# dpkg -i dropbox_2015.10.28_amd64.deb
# apt-get -f install

=============================================================

instalando o Qt

instalando pelo apt

# apt install qtcreator build-essential libqt4-dev libqt4-sql-psql

=================

instalando pelo arquivo .run

# chmod 777 qt-opensource-linux-x64-5.9.0.run

# ./qt-opensource-linux-x64-5.9.0.run

# apt-get install build-essential

# apt-get install libgl1-mesa-dev

após instalação configurar o compilador:
Tools / Options / Build & Run / Kits / Desktop Qt ..... Compiler: C: C++: adicionar o GCC

=============================================================

Instalando Latex

# apt-get install texlive texlive-latex-extra texlive-lang-portuguese texstudio

=============================================================

instalando o atom
https://atom.io/

# dpkg -i atom-amd64.deb

=============================================================

Configurações do Thunar

Arquivo / Propriedades... / Permissões / Outros / Nenhum

=============================================================

Skype

# dpkg -i skypeforlinux-64.deb
# apt-get -f install

=============================================================

Instalando impresora e scanner Epson M205 no Debian 9 64 bits

Primeiro entrar no endereço para fazer download dos drivers:

http://download.ebz.epson.net/dsc/search/01/search/searchModule

http://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=PT&CN2=&DSCMI=55539&DSCCHK=c5f2a21dabc8555c31739a3f576f1b4f929e3670

http://support.epson.net/linux/en/iscan_c.php?version=1.0.4

Baixar os dois drivers:

1 - epson-inkjet-printer-escpr_1.6.13-1lsb3.2_amd64.deb
2 -

Caso seja outra versão do linux, faça o download do software adequado à versão.

Instalando, como superusuário:

# dpkg -i epson-inkjet-printer-escpr_1.6.13-1lsb3.2_amd64.deb

Clicar em "Sistema" / "Configuração de impressora"

Instalando, o scaner

Extrair o arquivo: iscan-bundle-1.0.4.x64.deb.tar.gz

Entrar na pasta que foi extraída: iscan-bundle-1.0.4.x64.deb

Executar o arquivo install.sh

# ./install.sh

=============================================================

# dpkg -i google-chrome-stable_current_amd64.deb
# apt-get -f install

=============================================================

# apt-get install r-base

# chmod 777 Anaconda3-5.0.1-Linux-x86_64.sh
# bash Anaconda3-5.0.1-Linux-x86_64.sh

https://anaconda.org/

=============================================================

Adobe flash player

https://get.adobe.com/br/flashplayer/

O que eu fiz: o Unpack the plugin tar.gz and copy all the files to /usr/lib/adobe-flashplugin/

# tar -vzxf flash_player_ppapi_linux.x86_64.tar.gz
# thunar

Copiar todos os arquivos que foram extraídos para a pasta:
/usr/lib/adobe-flashplugin

Instruções do arquivo: readme.txt

Installation instructions

Installing using the plugin tar.gz:
    o Unpack the plugin tar.gz and copy all the files to /usr/lib/adobe-flashplugin

Uninstallation instructions

Manual uninstallation (for users who installed from plugin tar.gz):
    o Delete all the files in directory /usr/lib/adobe-flashplugin/

-----------------------------------

=============================================================


2018 - 04

Primeiro, editar o source.list, comentar a linha do cdrom

# nano /etc/apt/sources.list

=============================================================

#

# deb cdrom:[Debian GNU/Linux 9.4.0 _Stretch_ - Official amd64 DVD Binary-1 201$

# deb cdrom:[Debian GNU/Linux 9.4.0 _Stretch_ - Official amd64 DVD Binary-1 201$

deb http://deb.debian.org/debian/ stretch main
deb-src http://deb.debian.org/debian/ stretch main

deb http://security.debian.org/debian-security stretch/updates main contrib
deb-src http://security.debian.org/debian-security stretch/updates main contrib

# stretch-updates, previously known as 'volatile'
deb http://deb.debian.org/debian/ stretch-updates main contrib
deb-src http://deb.debian.org/debian/ stretch-updates main contrib

=============================================================

# apt install htop gedit

# chmod 777 dropbox_2015.10.28_amd64.deb
# dpkg -i dropbox_2015.10.28_amd64.deb
# apt -f install

=============================================================

Configurando o painel

--> tamanho da linha = 40
--> formato do relógio = %H:%M:%S %a %n %d / %m / %y

adicionar "PulseAudio Plugin"

adicionar "Monitor de Carga do Sistema"

adicionar "Monitor de Frequência da CPU"

Se for notebook
adicionar "Monitor da bateria"

adicionar "Monitor da Rede"
Ir ao terminal para ver o valor a preencher no "Dispositivo de rede"
https://linuxconfig.org/how-to-install-missing-ifconfig-command-on-debian-linux
# ip address
# ip a
O valor que aparece depois do número 2: e antes dos :
Exemplo de valores: enp0s25, eth0
Máximo: 900 KB/s
Mínimo: 200 KB/s

=============================================================

# apt install xscreensaver xscreensaver-data-extra xscreensaver-gl-extra

=============================================================

# apt install texlive texlive-latex-extra texlive-lang-portuguese texstudio

=============================================================

No mozilla firefox

digitar na aba de endereços: about:config

duplo clique em: browser.showQuitWarning;true

instlar em complementos: Vsideo DownloadHelper

Video DownloadHelper, instalado no mozilla firefox

=============================================================

www.skype.com

# chmod 777 skypeforlinux-64.deb
# dpkg -i skypeforlinux-64.deb
# apt -f install

=============================================================

# apt install r-base postgresql pgadmin3

=============================================================

# apt install git gitk redshift redshift-gtk brasero

=============================================================

ver quantidade de ram que é utilizada para começar a utilizar swap

$ cat /proc/sys/vm/swappiness
60

Nesse caso, quando 60% estiver livre ( utilizando 40% ) alguns arquivos começam a ir para swap

Alterar o valor para 10

# gedit /etc/sysctl.conf

No arquivo que se abrir, cole a seguinte linha do final:

vm.swappiness=10

Reinicie o computador

http://www.diolinux.com.br/2013/05/ubuntu-lento-como-deixar-rapido.html

https://askubuntu.com/questions/103915/how-do-i-configure-swappiness

=============================================================

# apt install chromium

================================================================

# apt install ffmpeg

Como recortar um vídeo via linha de comando

Ferramentas de recorte de vídeo em modo gráfico temos aos montes. Nesta rápida dica veremos como fazer isso via linha de comando no GNU/Linux.

Para a tarefa utilizaremos o famoso ffmpeg. Em distros Debian-like instale-o com:

sudo aptitude install ffmpeg

Supondo que temos um arquivo de vídeo chamado revolution-os.avi e queremos extrair um trecho de 1 minuto e 30 segundos a partir de 2 minutos e 10 segundos de vídeo:

$ ffmpeg -ss 00:02:10 -t 00:03:40 -i revolution-os.avi -vcodec copy -acodec copy revolution-os-cut.avi

Onde:

    -ss 00:02:10 :: posição inicial do cut;
    -t 00:30:40 :: posição final do cut;
    -i revolution-os.avi :: arquivo de vídeo original;
    -vcoded copy :: utilizar o mesmo codec de vídeo do arquivo original;
    -acoded copy :: utilizar o mesmo codec de áudio do arquivo original;
    revolution-os-cut.avi :: novo arquivo de vídeo com o resultado do processamento do comando.

Simples assim!

Exemplo meu:

$ ffmpeg -ss 00:00:00 -t 00:13:50 -i 1_01_a.mp4 -vcodec copy -acodec copy 1_01_b.mp4


================================================================

Convertendo o formato mp4-h264, para universal, para poder assistir na tv

# apt install handbrake handbrake-cli

$ HandBrakeCLI -Z Universal -i 1_01_a.mp4 -o 1_01_b.mp4

================================================================

# apt install pacpl

================================================================

# apt install gpac

Exemplo para unir vídeos

$ MP4Box -cat a.mp4 -cat b.mp4 -cat c.mp4 -new todos.mp4

================================================================

# apt install ssh

================================================================

# apt install openshot

================================================================

# apt install xournal

================================================================

# apt install kazam

================================================================

# apt install qtcreator build-essential libqt4-dev libqt4-sql-psql
# apt update
# apt full-upgrade
# apt install qtcreator build-essential libqt4-dev libqt4-sql-psql

================================================================

# apt install mc
mcedit

================================================================

# apt install python-dev

# apt install python-pip

# apt install python-setuptools

# apt install build-essential

# pip install csvkit

================================================================

# apt install transmission

quinta-feira, 6 de abril de 2017

Trabalhando em dois monitores no Debian 8.

Para utilizar mais de um monitor no Debian 8, com imagens diferentes, basta digitar o comando:

$ xrandr --output VGA-0 --left-of LVDS
$ xrandr --output VGA-0 --right-of LVDS


No endereço a seguir é possível ver as variações do programa xrandr:

https://wiki.archlinux.org/index.php/xrandr

http://www.hardware.com.br/dicas/video-manual.html

É isso... []'s

quinta-feira, 16 de março de 2017

Formatar pen-drive Debian linha comando (terminal) e granvar imagem (iso) do debian no pen-drive.

Formatando pen-drive no Debian pela linha de comando (terminal) e granvar imagem (iso) do debian no pen-drive.


Entre como superusuário no terminal:


========================

# su

========================


Liste as partições:


========================

#  lsblk

========================


Identifique  qual é o pen-drive, no meu caso era o "sdb".

Desmonte o pen-drive

========================

# umount /dev/sdb

======================== 


Utilize o comando (o -I (letra i em maiúsculo) é para sobrepor, caso tenha sdb1, sdb2, ele vai formatar tudo)
" -n " é para colocar o nome do volume:

========================

# mkfs.vfat -n CRISTI /dev/sdb -I

======================== 

Execute o comando que segue para permitir escrita e leitura no pendrive que foi formatado:

======================== 

# chmod 777 -R /dev/sdb

======================== 

Verifique onde o pen-drive está montado com o comando:

======================================

$ lsblk


NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465,8G  0 disk
├─sda1   8:1    0     1K  0 part
├─sda2   8:2    0 436,9G  0 part /home
├─sda3   8:3    0    28G  0 part /
└─sda5   8:5    0   976M  0 part [SWAP]
sdb      8:16   1  14,6G  0 disk
├─sdb1   8:17   1   3,7G  0 part
└─sdb2   8:18   1   416K  0 part
sr0     11:0    1  1024M  0 rom

======================================

No exemplo acima o pendrive está montado em sdb.

comando para copiar a imagem iso da distribuição.


--> entre no terminal como superusuário;
--> entre (no terminal) na pasta onde se encontra a imagem.

Digite o comando que segue:


======================================

# dd if=debian-9.2.1-amd64-DVD-1.iso  of=/dev/sdb bs=8MB status=progress

======================================

Espere  até que a imagem seja gravada.

No computador que testei demorou cerca de 12 minutos.

terça-feira, 14 de março de 2017

Como enviar notas para estudantes por e-mail ( e-mail com mala direta)

Programa feito em C para enviar notas para estudantes a partir de uma planilha (que é convertida em um arquivo de extensão csv).

Programa feito em C:

=========================================

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(int argc, char *argv[]){

    if ( argc < 2 ){
        printf("\nDigite o nome do arquivo com a extensão após o comando %s\n", argv[0]);
        printf("Exemplo: %s arquivo.csv\n\n", argv[0]);
        return 1;
    }

    if ( argc > 2 ){
        printf("\nDigite somente o nome do arquivo com a extensão após o comando %s\n", argv[0]);
        printf("Exemplo: %s arquivo.csv\n\n", argv[0]);
        return 1;
    }

    char nomearquivo[256];
    strcpy(nomearquivo,argv[1]);

    FILE *arq;

    arq = fopen(nomearquivo,"r");
    if (arq == NULL){
        printf("\nHouve um erro ao abrir o arquivo.\n\n");
        return 1;
    } else printf("\nArquivo %s aberto com sucesso!\n\n", nomearquivo);

    char *ano;
    char *semestre;
    char *cod;
    char *matricula;
    char *nome;
    char *curso;
    char *turma;
    char *email;

    char linha[512], comando[256], assunto[256];

    char *prova1;
    char *seminario1;
    char *totalfaltas;

    while(fgets(linha, 512, arq) != NULL){
        printf("%s", linha);

        ano = strtok(linha,";");
        semestre = strtok(NULL,";");
        cod = strtok(NULL,";");
        matricula = strtok(NULL,";");
        nome = strtok(NULL,";");
        curso = strtok(NULL,";");
        turma = strtok(NULL,";");
        email = strtok(NULL,";");
        prova1 = strtok(NULL,";");
        seminario1 = strtok(NULL,";");
        totalfaltas = strtok(NULL,";");

        printf("\n\n%s %s %s %s %s %s %s %s %s %s %s\n\n", ano, semestre, cod, matricula, nome, curso, turma, email, prova1, seminario1, totalfaltas);

        sprintf(assunto, "Notas de %s.\n\nProva 1 = 25%%\nSeminário 1 = 10%%\n\nNome: %s\nMatrícula: %s\n\nNota da prova 1: %s\nNota do seminario 1: %s\nTotal de faltas: %s\n", cod, nome, matricula, prova1, seminario1, totalfaltas);
//        sprintf(assunto, "Notas de %s.\n\nNome: %s\nMatrícula: %s\n\nProva 1: %s\nProva 2: %s\nTotal de faltas: %s\n", cod, nome, matricula, prova1, prova2, totalfaltas);

        sprintf(comando, "echo \"From: cristianoltfs@gmail.com\nTo: %s\nSubject: Notas e faltas de %s\n\n%s \" | sendmail -t\n\n", email, cod, assunto);
        printf(comando);

//        system(comando);

    }

    fclose(arq);
    printf("Arquivo %s fechado com sucesso!\n\n", nomearquivo);

    return 0;
}
=========================================

Comando para compilar:
$ gcc -std=c11 -Wall -pedantic -lm enviarnotas.c -o enviarnotas

Para executar deve estar logado como superusuário:
# ./enviarnotas dados.csv

O formato do arquivo dados.csv pode ser verificado a seguir:

=========================================

COD;MATRICULA;NOME;EMAIL;PROVA1;PROVA2;TOTALFALTAS
PRO491;11.1.4378;CRISTIANO LUIS;cristianoltfs@gmail.com;3;5;10
PRO491;11.2.1286;NOME DO ALUNO 2;email_do_aluno2@gmail.com ;10;5;15
PRO491;11.1.1359;NOME DO ALUNO 3;email_do_aluno2@hotmail.com ;8;8;20

=========================================

Instalar o ssmtp:
# apt-get install ssmtp

Configurando o ssmtp:
Fazer as mudanças no arquivo ssmpt.conf e salvar

# gedit /etc/ssmtp/ssmtp.conf

alterações:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
alterar as linhas:
-----------------------------
mailhub=smtp.gmail.com:587
FromLineOverride=YES
-----------------------------

inserir as linhas no final:
-----------------------------
AuthUser=meu-email@gmail.com(INSERIR SEU E-MAIL AQUI)
AuthPass=minha-senha(INSERIR SUA SENHA DO E-MAIL AQUI)
UseSTARTTLS=YES
-----------------------------=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

arquivo completo antes das alterações:
=========================================
#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=mail

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=cristianoltfs-Inspiron-3647.Home

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
#FromLineOverride=YES
=========================================


arquivo completo depois das alterações:
=========================================
 #
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=postmaster

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
mailhub=smtp.gmail.com:587

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=cristianoltfs-Inspiron-3647.Home

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES

AuthUser=meu-email@gmail.com(INSERIR SEU E-MAIL AQUI)
AuthPass=minha-senha(INSERIR SUA SENHA DO E-MAIL AQUI)
UseSTARTTLS=YES

=========================================