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
computação vou aprendendo GNU Linux Debian PostgreSQL pgAdmin QT Ubuntu C R Pascal Lazarus Solver . . .
segunda-feira, 26 de junho de 2017
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
$ 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.
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
=========================================
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
=========================================
domingo, 8 de fevereiro de 2015
Instalando impressora e scanner Epson L210 no Liux Mint 17 64 bits
Instalando impressora e scanner Epson L210 no Liux Mint 17 64 bits
================================================
Primeiro entrar no endereço para fazer download dos drivers:
http://www.epson.com.my/epson_malaysia/ink_tank_system_printers/product.page?product_name=Epson_L210#
link: Drivers & Support
link: Printer Driver
http://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=SG&CTI=4&PRN=L350%20Series&OSC=LX
link: Scanner Driver
http://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=SG&CTI=15&PRN=L350%20Series&OSC=LX
Baixar os três drivers:
1 - iscan-data_1.34.0-1_all.deb
2 - epson-inkjet-printer-201207w_1.0.0-1lsb3.2_amd64.deb
3 - iscan_2.30.1-1~usb0.1.ltdl7_amd64.deb
Caso seja outra versão do linux, faça o download do software adequado à versão.
=========================================
Instalando, como superusuário:
# dpkg -i iscan-data_1.34.0-1_all.deb
Caso precise resolva as pendências com:
# apt-get -f install
# dpkg -i epson-inkjet-printer-201207w_1.0.0-1lsb3.2_amd64.deb
Caso precise resolva as pendências com:
# apt-get -f install
#dpkg -i iscan_2.30.1-1~usb0.1.ltdl7_amd64.deb
Caso precise resolva as pendências com:
# apt-get -f install
Reinicie o computador
================================================
Instalei o software XSane para trabalhar com o scanner
# apt-get install xsane
Reinicie o computador
================================================
Primeiro entrar no endereço para fazer download dos drivers:
http://www.epson.com.my/epson_malaysia/ink_tank_system_printers/product.page?product_name=Epson_L210#
link: Drivers & Support
link: Printer Driver
http://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=SG&CTI=4&PRN=L350%20Series&OSC=LX
link: Scanner Driver
http://download.ebz.epson.net/dsc/du/02/DriverDownloadInfo.do?LG2=EN&CN2=SG&CTI=15&PRN=L350%20Series&OSC=LX
Baixar os três drivers:
1 - iscan-data_1.34.0-1_all.deb
2 - epson-inkjet-printer-201207w_1.0.0-1lsb3.2_amd64.deb
3 - iscan_2.30.1-1~usb0.1.ltdl7_amd64.deb
Caso seja outra versão do linux, faça o download do software adequado à versão.
=========================================
Instalando, como superusuário:
# dpkg -i iscan-data_1.34.0-1_all.deb
Caso precise resolva as pendências com:
# apt-get -f install
# dpkg -i epson-inkjet-printer-201207w_1.0.0-1lsb3.2_amd64.deb
Caso precise resolva as pendências com:
# apt-get -f install
#dpkg -i iscan_2.30.1-1~usb0.1.ltdl7_amd64.deb
Caso precise resolva as pendências com:
# apt-get -f install
Reinicie o computador
================================================
Instalei o software XSane para trabalhar com o scanner
# apt-get install xsane
Reinicie o computador
terça-feira, 29 de julho de 2014
Debian 7 - Backup utilizando linha de comando com o comando cp no Linux
Para realizar um backup de seus arquivos, basta utilizar o comando cp pelo terminal.
Abra o terminal. Estando na pasta do usuário que está logado (~$), sinal que irá aparecer no terminal, antes de digitar o comando de copiar.
=============================
~$
=============================
Exemplo: suponha que queira copiar a pasta Musicas (que está na pasta do usuário) para uma mídia removível (pen drive, hd externo ou mesmo para outra pasta no hd).
Basta digitar o comando:
=============================
~$ cp -r -u -x -v Musicas /media/7E54-F251
=============================
cp : é o comando para copiar;
-r : é o parâmetro para copiar recursivo, ou seja, copia os arquivos e as subpastas com seus arquivos recursivamente, resumindo, copia todo conteúdo da pasta Musicas;
-u : esse é o parâmetro que faz o backup propriamente dito, update, copias apenas se o arquivo de origem for mais recente que o arquivo de destino ou se o arquivo de destino não existir. Esse parâmetro economiza muito tempo, pois não é necessário ficar copiando arquivos que são idênticos aos que já estão no [Destino], no caso, os arquivos que não estão na pasta Musicas que possa existir no pen-drive;
-x : permanece nesse sistema de arquivos, não faz loop infinito;
-v : mostra o que está sendo feito;
Musicas : é a pasta de origem, a qual está querendo copiar;
/media/7E54-F251 : é o pen drive, para onde está sendo feita a cópia da pasta Musicas;
No caso desse exemplo, estou copiando para um pen-drive.
Para localizar onde estava o pen-drive, fui até o "Gerenciador de arquivos", cliquei sobre o pen-drive, e digitei "ctrl+l", para mostrar a localização dessa mídia removível.
De forma geral o comando seria o seguinte:
~$ cp -r -u -x -v [Origem] [Destino]
É isso.
Referências:
http://aikiwolfie.blogspot.com.br/2009/09/ubuntu-tip-simple-backup-command-using.html
Abra o terminal. Estando na pasta do usuário que está logado (~$), sinal que irá aparecer no terminal, antes de digitar o comando de copiar.
=============================
~$
=============================
Exemplo: suponha que queira copiar a pasta Musicas (que está na pasta do usuário) para uma mídia removível (pen drive, hd externo ou mesmo para outra pasta no hd).
Basta digitar o comando:
=============================
~$ cp -r -u -x -v Musicas /media/7E54-F251
=============================
cp : é o comando para copiar;
-r : é o parâmetro para copiar recursivo, ou seja, copia os arquivos e as subpastas com seus arquivos recursivamente, resumindo, copia todo conteúdo da pasta Musicas;
-u : esse é o parâmetro que faz o backup propriamente dito, update, copias apenas se o arquivo de origem for mais recente que o arquivo de destino ou se o arquivo de destino não existir. Esse parâmetro economiza muito tempo, pois não é necessário ficar copiando arquivos que são idênticos aos que já estão no [Destino], no caso, os arquivos que não estão na pasta Musicas que possa existir no pen-drive;
-x : permanece nesse sistema de arquivos, não faz loop infinito;
-v : mostra o que está sendo feito;
Musicas : é a pasta de origem, a qual está querendo copiar;
/media/7E54-F251 : é o pen drive, para onde está sendo feita a cópia da pasta Musicas;
No caso desse exemplo, estou copiando para um pen-drive.
Para localizar onde estava o pen-drive, fui até o "Gerenciador de arquivos", cliquei sobre o pen-drive, e digitei "ctrl+l", para mostrar a localização dessa mídia removível.
De forma geral o comando seria o seguinte:
~$ cp -r -u -x -v [Origem] [Destino]
É isso.
Referências:
http://aikiwolfie.blogspot.com.br/2009/09/ubuntu-tip-simple-backup-command-using.html
segunda-feira, 7 de julho de 2014
Debian 7 com openbox - configurando a placa de rede sem fio wifi wireless Atheros
Debian 7 com openbox - configurando a placa de rede sem fio wifi wireless Atheros
Primeiramente é preciso verificar qual é a sua placa de rede, portanto execute o comando:
=====================================
$ lspci
=====================================
A linha que interessa será parecida com essa:
02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
Entre no terminal como superusuário, acesse o sources.list para acrescentar o endereço de repositório (utilizei o editor de texto nano)
=====================================
# nano /etc/apt/sources.list
=====================================
Acrescente a seguinte linha no arquivo sources.list:
deb http://ftp.br.debian.org/debian/ wheezy main contrib non-free
Salve e feche esse arquivo.
Execute o comando para atualizar conforme o sources.list que foi alterado:
=====================================
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
=====================================
diferença entre update, upgrade e dist-upgrade:
update : vai atualizar a lista de fontes, correções;
upgrade : vai atualizar todos os pacotes para as versões mais recentes;
dist-upgrade : vai atualizar todos os pacotes e remover pacotes caso necessário;
Instalar o pacote firmware-atheros
=====================================
# apt-get install firmware-atheros
=====================================
Referências:
http://www.vivaolinux.com.br/topico/Debian-para-iniciantes/Wireless-na-instalacao-do-debian
Primeiramente é preciso verificar qual é a sua placa de rede, portanto execute o comando:
=====================================
$ lspci
=====================================
A linha que interessa será parecida com essa:
02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
Entre no terminal como superusuário, acesse o sources.list para acrescentar o endereço de repositório (utilizei o editor de texto nano)
=====================================
# nano /etc/apt/sources.list
=====================================
Acrescente a seguinte linha no arquivo sources.list:
deb http://ftp.br.debian.org/debian/ wheezy main contrib non-free
Salve e feche esse arquivo.
Execute o comando para atualizar conforme o sources.list que foi alterado:
=====================================
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
=====================================
diferença entre update, upgrade e dist-upgrade:
update : vai atualizar a lista de fontes, correções;
upgrade : vai atualizar todos os pacotes para as versões mais recentes;
dist-upgrade : vai atualizar todos os pacotes e remover pacotes caso necessário;
Instalar o pacote firmware-atheros
=====================================
# apt-get install firmware-atheros
=====================================
Referências:
http://www.vivaolinux.com.br/topico/Debian-para-iniciantes/Wireless-na-instalacao-do-debian
Assinar:
Postagens (Atom)