Arquivo da tag: Ubuntu

Rodando aplicativos gráficos Linux em Windows 10

Com o novo Windows 10 (Anniversary Update) veio uma novidade muito interessante, voltada para desenvolvedores: ele traz o Bash On Ubuntu On Windows. O nome comprido é pra indicar o que oficialmente você ganha: um bash, que roda sobre um Ubuntu, que roda sobre o Windows.

De maneira resumida: não é uma maquina virtual como estamos acostumados, nem aplicações GNU compiladas pra Windows, mas sim uma camada que mapeia parte das chamadas que aplicações normalmente fazem para o Kernel Linux, e as redireciona para o Windows, isto dentro de um “cercado” do bash (você – teoricamente – precisa entrar no bash pra acessar as aplicações). O interessante é: as aplicações que são executadas são o binários originais compilados pra Ubuntu, ou seja, você pode usar virtualmente qualquer coisa compilada para Ubuntu.

A Microsoft, entretando, parece vender a funcionalidade como algo mais restrito: um shell com ferramentas que desenvolvedores estão acostumados: grep, cat, cut, etc. Afirma que não é possível executar aplicações gráficas, é só pra desenvolvedor usar as ferramentas que ele está acostumado no mundo Linux e destaque que muita coisa pode não funcionar. Mas se você é como eu, não apenas já tinha o bash e essas ferramentas instaladas no Windows (mas compiladas pra Windows), como já imaginou que dá pra fazer mais – muito mais – do que o discurso oficial. E você está certo!

Deixemos de fora paixões, preconceitos e filosofias – há muito espaço para discutir isso na internet. A ideia é explorar o potencial deste recurso, e não analisar se é melhor ou pior que outros. E vamos pular o discurso oficial e ir direto ao assunto: como é que eu rodo uma aplicação gráfica Ubuntu no Windows 10?

Já adianto: é muito mais fácil do que você está imaginado!

Instalando o Bash on Ubuntu on Windows

Se você já instalou, pule esta parte.

Se não, é simples:

  1. Instale o Anniversary Update (se não chegou ainda para seu computador, você pode obtê-lo aqui)
  2. Acesse Configurações, Atualizações e Segurança 
  3. Clique em Para Desenvolvedores
  4. Selecione o Modo de desenvolvedor
  5. Abra o Painel de Controle, ProgramasAtivar ou Desativar Recursos do Windows
  6. Selecione o Susbsistema do Windows para Linux
  7. Reinicie o computador
  8. Execute o Bash no Ubuntu no Linux e permita a instalação do subsistema, definindo seu login e senha;

Só isso!

Preparando execução de aplicações graficas

Você só precisa três coisas:

  1. Instale e execute um servidor X para Windows: o VcXSrv funciona!
  2. Configure o display executando no Bash:
    echo "export DISPLAY=:0.0" >> ~/.bashrc
  3. Configure o DBUS editando o arquivo /etc/dbus-1/session.conf e substituindo a linha
<listen>unix:tmpdir=/tmp</listen>

por

<listen>tcp:host=127.0.0.1,port=10002</listen>

Pronto! Reinicie o bash e instale/execute aplicações gráficas normalmente!

Outros ajustes

Estes não são essenciais pra começar, mas resolvem pequenos problemas que encontrei:

  1. Adicione o nome da sua máquina Windows (Ex; MINHAMAQUINA) no /etc/hosts, na linha do localhost/127.0.0.1, para resolver o problema de “Não foi possível resolver máquina MINHAMAQUINA”) e lentidão ao abrir alguns aplicativos;
  2. Adicione a linha “export NO_AT_BRIDGE=1” no arquivo ~/.bashrc para resolver warnings de “Couldn’t connect to accessibility bus”

Questões em aberto que pretendo analisar

  1. Carregar a aplicação diretamente a partir de um atalho do Windows- oficialmente não é possível, mas…
  2. Montar um ambiente de desenvolvimento com Eclipse, Cmake, Gcc

Aplicações testadas

  • Firefox – OK sem restrições até o momento – sucesso inclusive ao utilizar certificados digitais
  • Eclipse Mars com Oracle JDK 7 (O Eclipse Neon não funciona por depender do Java 8, que tem alguma particularidade que faz com que não funcione): Está ocorrendo um erro. Há previsão de correção do problema no próximo update, quando ocorrer vou testar novamente.
Anúncios
Etiquetado , , ,

Derek’s hack to fix W7S flipped WebCam

I was going to use some of my vacation time to try to fix the vertical flip (upside down) bug in Chicony Electronics WebCam (04f2:b012) in W7S laptop, but decided to take a look on Google again if anyone has already found a fix for that… And I found it!!!

Derek Bruce wrote a small hack to uvcvideo that fixes this anoying bug at kernel module level. Is a very simple sollution, but works very well!!!

Just aply this patch to uvcvideo (content also avaliable at the end of this post). You can download latest uvcvideo from here, or checkout the latest svn version using the following command:

svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk uvc-video

Important note: Default Makefile will put uvcvideo kernel module on the wrong path for Ubuntu, and you may need to change this line on Makefile:

INSTALL_MOD_DIR := kernel/ubuntu/media/usbvideo

to:

INSTALL_MOD_DIR := ubuntu/media/usbvideo

Download the patch file to the uvcvideo source folder, and aply it using the following command:

patch -i uvc-hack.patch

Compile and install the driver using make:

make
sudo make install

Just reload the kernel module:

modprobe -r uvcvideo
modprobe uvcvideo

And that’s all… your don’t need to flip the notebook anymore to talk with another people! 😉

Thanks a lot, Derek, for this nice patch!!!

Continuar lendo

Etiquetado , , , , , , , , , ,

Sync WM5 & WM6 with Evolution, without ActiveSync

Important Notice: SynCE now works without problems with WM6, and it is actually easy to make it work on Ubuntu. Follow this guide! I recommend the SynCE sollution, since it does not disclose private data to a third party (Mail2Web)

For those who have a PDA or a Smartphone with WM5, sync with Linux can be a complex operation. The SynCE project is trying, but make it work can be hard. Who already is using WM6, well… then it becomes harder. SynCE don’t even started to work on WM6 support. For me, I was using a virtual machine (VirtualBox) with Windows XP and ActiveSync 4.5 to at least have a backup of my PIM data and to edit the data with a real keyboard, but common… that is not an acceptable sollution.

Today I’ve found out, after a lot of research, a sollution that I’ll explain in this article. It is based on this article, from James, and some Evolution hacking.

Continuar lendo

Etiquetado , , , , , , , ,