terça-feira, 28 de julho de 2015

Instalando driver Nvidia no Debian 8.1

tem que adicionar o repositorio contrib-nonfree

apt-get update;
apt-get install nvidia-driver nvidia-xconfig xorg-server-source

Durante a instalação ele vai reclamar de conflito entre o driver da nvidia e o nouveau.
Para resolver isso temos que criar um arquivo xorg.conf, e isso é feito pelo comando nvidia-xconfig
Após executado, basta reiniciar a máquina. Não precisa nem remover nada do nouveau nem adicionar em blacklists

Update:

Após algumas reinicializações, a interface gráfica não entrou.
Ficou em modo texto. Fiz login como root e removi o nouveau.
apt-get remove xserver-xorg-video-nouveau
rodei novamente nvidia-xconfig

Para instalar o configurador do driver que mostra várias opções da placa
apt-get install nvidia-settings

reiniciei e voltou ao normal


Com o driver nvidia proprietário está ocorrendo lag ao arrastar as janelas. Tentei o driver 340.65.2 (jessie) e o 340.75 (testing), ambos apresentando o mesmo problema, tentei deixar nas configurações para o modo otimizado para performance mas não resolveu. Não testei com o NVIDIA-Linux-x86_64-352.30.run, ultima versão do site.

Testando novamente o nouveau, mas agora um mais recente, o do repositório jessie estava dando crash no X.

Usando o lxde, não testei com outro ambiente.


apt-get purge nvidia*
apt-get install -t testing xserver-xorg-video-nouveau

editar xorg.conf
mudar de 'nvidia' para 'nouveau'

Amarok - Equalizador

Pra que seja possível habilitar o equalizador, tendo o vlc como backend, é necessário instalar a biblioteca: libvlc5 e libvlc-dev
Após instalado, basta habilitar no vlc o equalizador que irá funcionar no amarok também.

quarta-feira, 22 de julho de 2015

Gravar som do sistema (internal audio) com o Audacity no Linux Debian

É complicado achar um programa para gravar o som da placa interna do PC sem ter que configurá-lo, para o Ubuntu ou Mint existe repositório com o Audio Recorder, no Debian o jeito foi configurar o audacity que por default vem setado para usar o microfone. Para modificar o canal, é necessário utilizar o pavucontrol, que é o controle do pulseaudio.
Tentei compilar o audiorecorder no Debian mas desisti devido a dependências quebradas que não consegui solucionar.

Para fazer a modificação é necessário carregar o Pulse Audio Volume Control (pavucontrol) e também o audacity. No audacity apertamos o botão de gravar.


No pavucontrol, vamos na aba 'Gravando'. Lá estará listado o audacity, utilizando o Alsa.
Temos que mudar de " Áudio interno Estéreo analógico " para " Monitor of Áudio interno Estéreo analógico "

de:
para:


Feito isso basta voltar ao audacity e ele já estará recebendo o sinal de som:


Agora o audacity irá gravar todo som interno que estiver em execução, basta pressionar o botão de gravar novamente.
Para que seja feita uma gravação limpa, é necessário que apague o track gravado anteriormente! clica "crtl+w"







Usando o asoundrc

Procurar o nome da fonte no PulseAudio usando o comando: pactl list e então adicionar ao ~/.asoundrc
eh o que tem: analog-stereo.monitor
# pactl list | grep monitor

Fonte de monitoração: alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor
Fonte de monitoração: alsa_output.pci-0000_00_14.2.analog-stereo.monitor
Nome: alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor
device.class = "monitor"
Nome: alsa_output.pci-0000_00_14.2.analog-stereo.monitor
device.class = "monitor"

No meu caso vai ser:
######################################################

pcm.pulse_monitor {
  type pulse
  device alsa_output.pci-0000_00_14.2.analog-stereo.monitor
}

ctl.pulse_monitor {
  type pulse
  device alsa_output.pci-0000_00_14.2.analog-stereo.monitor
}


######################################################


Agora pode usar o pulse_monitor como fonte de gravação







Fonte: https://wiki.archlinux.org/index.php/PulseAudio/Examples

Monitor specific output

It is possible to monitor a specific output, for example to stream audio from a music player into a VOIP application. Simply create a null output device:

pactl load-module module-null-sink sink_name=
In Pulseaudio Volume Control (pavucontrol), under the "Playback" tab, change the output of an application to , and in the recording tab change the input of an application to "Monitor of ". Audio will now be outputted from one application into the other.




PulseAudio

Instalação nova do Debian, problemas com o audio duplex.
Foi desinstalado tudo do pulseaudio: pulseaudio-utils pulseaudio pavucontrol
Foi removido o diretório todos os diretorios do pulse

Instalado tudo novamente.
Funcionando.


domingo, 12 de julho de 2015

Terminator - tamanho de tela definido

Iniciar o Terminator com janela em um tamanho definido pelo usuário

Adicionar size = x,y no arquivo abaixo:
vim .config/terminator/config

[layouts]
 [[default]]
     [[[child1]]]
       type = Terminal
       parent = window0
       profile = default

     [[[window0]]]
       type = Window
       parent = ""
       size = 850, 300


quinta-feira, 9 de julho de 2015

Formato dos Vídeos do YouTube com youtube-dl

youtube-dl --list-formats  https://www.youtube.com/watch?v=xxxxxxxxxxx
[youtube] 3yS_iyJGtQg: Downloading webpage
[youtube] 3yS_iyJGtQg: Extracting video information
[youtube] 3yS_iyJGtQg: Downloading DASH manifest
[info] Available formats for 3yS_iyJGtQg:
format code  extension  resolution note
140          m4a        audio only DASH audio  129k , m4a_dash container, aac  @128k (44100Hz), 7.52MiB
278          webm       256x144    DASH video  104k , webm container, VP9, 13fps, video only, 4.95MiB
17           3gp        176x144
36           3gp        320x240
5            flv        400x240
43           webm       640x360
18           mp4        640x360
22           mp4        1280x720   (best)

youtube-dl -f 5 #Para baixar no formato flv

terça-feira, 30 de junho de 2015

busca no gmail

para encontrar todos os arquivos anexados do tipo pdf
has:attachment filename:pdf

segunda-feira, 29 de junho de 2015

OpenStreetMap Tracker Python


O OsmTracker tem muita opção em submenus, dificulta achar os itens, principalmente quando se está dirigindo, assim, botoes maiores facilitam o mapeamento ao volante.

Versão 1.3, falta adicionar services para rodar em background!
Possui script para transformar csv para gpx!
Só abrir no JOSM e editar o mapa.




Funcionando, versão 1.0





geany - Incapaz de encontrar um shell

Unable to find a shell
Editar --> preferencias --> ferramentas -->

mudar de:
x-terminal-emulator -e "/bin/sh %c"

para:
terminator -x /bin/sh %c

domingo, 28 de junho de 2015

/etc/udev/rules.d/51-android.rules
Dado purge nos pacotes abaixo:
mtpfs (1.1-4.1)
mtp-tools (1.1.6-20-g1b9f164-1ubuntu2)

mtp continua funcionando.
adb start-server faz com que o problema seja ativado: Asus Zenfone 5 conectado via usb em mtp mode, fica conectando e desconectando em seguida, looping infinito...
adb kill-server faz tudo voltar ao normal

android-tools-adb
android-tools-adbd
Sistema usando no momento: gvfs para montar o mtp


 /usr/share/gvfs/mounts/mtp.mount

[Mount]
Type=mtp
Exec=/usr/lib/gvfs/gvfsd-mtp
AutoMount=false

Biostar TA880GB+ usb 5v e 5vsb

Placa mãe Biostar TA880GB+ com problemas no usb, tem hd externa que não funciona, parece que não tem força para rodar.
ADB não funciona, não reconhece o dispositivo.
Problema com hd externa acontece tanto no linux quanto no windows. HD funciona em outros computadores e também na TV. No pc com a biostar, apenas faz barulho "tec, tec, tec", parece que liga e desliga, liga e desliga.
Tentar mudar de 5vsb para 5v para mandar mais energia pra ela.

adb comandos

mandar do dispositivo para o computador:
adb pull  /sdcard/App/file.py /home/user/file.py

mandar do computador para o dispositivo:
adb push /home/user/file.py /sdcard/App/file.py

remover do dispostivo:
adb shell rm -r /system/sdcard/App

atualizar arquivo no dispositivo:
adb shell mount /sdcard
adb shell rm /sdcard/file.py
adb push /home/user/file.py /sdcard/file.py

#############################################
from subprocess import check_output, CalledProcessError

try:
    adb_ouput = check_output(["adb", "devices"])
except CalledProcessError as e:
    print e.returncode

segunda-feira, 22 de junho de 2015

python imprimir determinada linha

Saturday, October 31, 2009

Python - print section of file using line number


e.g. Print the section of input file 'input.txt' between line number 22 and 89.

Using python enumerate function sequence numbers:
for i,line in enumerate(open("file.txt")):
    if i >= 21 and i < 89 :
        print line,

And if you want to write the section to a new file say '/tmp/fileA'
fp = open("/tmp/fileA","w")
for i,line in enumerate(open("file.txt")):
    if i >= 21 and i < 89 :
        fp.write(line)

Another approach:
print(''.join(open('file.txt', 'r').readlines()[21:89])),

And if you wish to write the section to a new file say '/tmp/fileB'
fp = open("/tmp/fileB","w")
fp.write(''.join(open('file.txt', 'r').readlines()[21:89])),

Read about python enumerate function here and below is a small example using python enumerate function:
>>> for i, student in enumerate(['Alex', 'Ryan', 'Deb']):
...     print i, student
...
0 Alex
1 Ryan
2 Deb
>>>


Also find my other post on Extracting section of a file using line numbers applying awk, sed, Perl, vi editor and UNIX/Linux head and tail command techniques.

autocomplete para python sublime text 2

SublimeJEDI is a Sublime Text 2 and Sublime Text 3 plugin to the awesome autocomplete library Jedi

Installation

with Git

cd ~/.config/sublime-text-2/Packages/
git clone https://github.com/srusskih/SublimeJEDI.git "Jedi - Python autocompletion"

with Sublime Package Control

  1. Open command pallet (default: ctrl+shift+p)
  2. Type package control install and select command Package Control: Install Package
  3. Type jedi and select "SublimeJEDI"

Mudar para autocompletar com ctrl + space
No padrão está como alt + /

Abrir em Preferences --> Key Binding Defautl --> linha 261 no sublime2
mudar de alt + / para ctrl+space

{ "keys": ["ctrl+space"], "command": "auto_complete" },
{ "keys": ["ctrl+space"], "command": "replace_completion_with_auto_complete", "context":
[
{ "key": "last_command", "operator": "equal", "operand": "insert_best_completion" },
{ "key": "auto_complete_visible", "operator": "equal", "operand": false },
{ "key": "setting.tab_completion", "operator": "equal", "operand": true }
]
}

sexta-feira, 19 de junho de 2015

python print

casas decimais

x = 505.0
print("%.10f"%(x/6))
84.1666666667

sexta-feira, 12 de junho de 2015

PlayOnLinux

Office 2010
Já está na lista de instalação do PlayOnLinux.
Pede para instalar winbind
Cria automaticamente a pasta virtual
Baixou o wine 1.7.22, o wine-mono-4.5.2 e outros

Minhateca
Instalei com o arquivo .msi baixado do site. Abrindo o PlayOnLinux, acionar o botão instalar programa, no canto inferior esquerdo tem o link: instalar um programa não listado. Clicar ali, criar um espaço  virtual para o minhateca, selecionar o instalador e pau.

Funcionou perfeitamente, melhor do que pelo virtualbox emulando o windows xp sp3 que estava upando arquivos da partição Linux.

quarta-feira, 10 de junho de 2015

remover chaves de lista python

python print array without brackets in a single row
python 3
>>> for i in range(1, 11):
...     print(i, end='')
... 
12345678910>>> 

python 2 
names = ["Sam", "Peter", "James", "Julian", "Ann"]
print ', '.join(names)
fonte: http://stackoverflow.com/questions/11178061/python-print-array-without-brackets-in-a-single-row

segunda-feira, 8 de junho de 2015

Juntar audio e video - MP3 no MP4

ffmpeg -i video_entrada.mp4 -i audio_entrada.mp3 -map 0:0 -map 1:0 -vcodec copy -acodec copy video_saida.mp4

terça-feira, 2 de junho de 2015

bug osmandmapcreator

DETALHADO: Memory before task exec: 4029153280 free : 2482800464
Jun 02, 2015 10:57:52 AM net.osmand.swing.ProgressDialog startTask
DETALHADO: Preindexing address and map ways… started after 71 ms
Jun 02, 2015 10:57:54 AM net.osmand.swing.ProgressDialog startTask
DETALHADO: Memory before task exec: 4017094656 free : 2507932488
Jun 02, 2015 10:57:54 AM net.osmand.swing.ProgressDialog startTask
DETALHADO: Processing osm nodes… started after 2045 ms
Jun 02, 2015 10:59:13 AM net.osmand.swing.ProgressDialog startTask
DETALHADO: Memory before task exec: 4121952256 free : 1859865088
Jun 02, 2015 10:59:13 AM net.osmand.swing.ProgressDialog startTask
DETALHADO: Processing osm ways… started after 78431 ms
Jun 02, 2015 11:04:55 AM net.osmand.data.preparation.IndexCreator generateIndexes
GRAVE: Log exception
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1911)
at net.osmand.osm.MapRoutingTypes.encodeEntity(MapRoutingTypes.java:206)
at net.osmand.data.preparation.IndexRouteCreator.iterateMainEntity(IndexRouteCreator.java:169)
at net.osmand.data.preparation.IndexCreator.iterateMainEntity(IndexCreator.java:239)
at net.osmand.data.preparation.IndexCreator.access$1000(IndexCreator.java:48)
at net.osmand.data.preparation.IndexCreator$10.iterateEntity(IndexCreator.java:613)
at net.osmand.data.preparation.OsmDbAccessor.iterateOverEntities(OsmDbAccessor.java:241)
at net.osmand.data.preparation.OsmDbAccessor.iterateOverEntities(OsmDbAccessor.java:195)
at net.osmand.data.preparation.IndexCreator.generateIndexes(IndexCreator.java:610)
at net.osmand.swing.OsmExtractionUI$13.run(OsmExtractionUI.java:547)
at net.osmand.swing.ProgressDialog$WorkerThread.run(ProgressDialog.java:87)

Jun 02, 2015 11:04:59 AM net.osmand.swing.ExceptionHandler handle
GRAVE: Exception during operation
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1911)
at net.osmand.osm.MapRoutingTypes.encodeEntity(MapRoutingTypes.java:206)
at net.osmand.data.preparation.IndexRouteCreator.iterateMainEntity(IndexRouteCreator.java:169)
at net.osmand.data.preparation.IndexCreator.iterateMainEntity(IndexCreator.java:239)
at net.osmand.data.preparation.IndexCreator.access$1000(IndexCreator.java:48)
at net.osmand.data.preparation.IndexCreator$10.iterateEntity(IndexCreator.java:613)
at net.osmand.data.preparation.OsmDbAccessor.iterateOverEntities(OsmDbAccessor.java:241)
at net.osmand.data.preparation.OsmDbAccessor.iterateOverEntities(OsmDbAccessor.java:195)
at net.osmand.data.preparation.IndexCreator.generateIndexes(IndexCreator.java:610)
at net.osmand.swing.OsmExtractionUI$13.run(OsmExtractionUI.java:547)
at net.osmand.swing.ProgressDialog$WorkerThread.run(ProgressDialog.java:87)




versão mais antiga

Jun 03, 2015 7:33:41 AM net.osmand.data.index.IndexBatchCreator generateIndex
GRAVE: Exception generating indexes for brazil-latest.osm
java.lang.UnsupportedOperationException: Split is needed for tag/values {amenity=place_of_worship, building=cathedral, denomination=roman_catholic, religion=christian, seamark:building:function=church, seamark:landmark:function=church, seamark:type=landmark, type=multipolygon}
at net.osmand.osm.MapRenderingTypesEncoder.encodeEntityWithType(MapRenderingTypesEncoder.java:149)
at net.osmand.data.preparation.IndexVectorMapCreator.indexMultiPolygon(IndexVectorMapCreator.java:134)
at net.osmand.data.preparation.IndexVectorMapCreator.indexMapRelationsAndMultiPolygons(IndexVectorMapCreator.java:94)
at net.osmand.data.preparation.IndexCreator$6.iterateEntity(IndexCreator.java:558)
at net.osmand.data.preparation.OsmDbAccessor.iterateOverEntities(OsmDbAccessor.java:241)
at net.osmand.data.preparation.OsmDbAccessor.iterateOverEntities(OsmDbAccessor.java:195)
at net.osmand.data.preparation.IndexCreator.generateIndexes(IndexCreator.java:550)
at net.osmand.data.index.IndexBatchCreator.generateIndex(IndexBatchCreator.java:505)
at net.osmand.data.index.IndexBatchCreator.generatedIndexes(IndexBatchCreator.java:427)
at net.osmand.data.index.IndexBatchCreator.runBatch(IndexBatchCreator.java:273)
at net.osmand.data.index.IndexBatchCreator.runBatch(IndexBatchCreator.java:192)
at net.osmand.data.index.IndexBatchCreator.main(IndexBatchCreator.java:134)

Jun 03, 2015 7:33:41 AM net.osmand.data.index.IndexBatchCreator generatedIndexes
INFORMAÇÕES: GENERATING INDEXES FINISHED




sexta-feira, 29 de maio de 2015

python vetor linha para vetor coluna

Vetor para linha, para vetor coluna
>>> a[None].T
array([[1],
       [2],
       [3]])
>>> np.newaxis is None
True
>>> a.reshape(a.shape+(1,))
array([[1],
       [2],
       [3]])
>>> a[:,None]
array([[1],
       [2],
       [3]])