Olhei em volta por um tempo e não consegui descobrir a resposta para o meu seguinte problema:
Eu tenho uma instalação de seis desktops no Ubuntu 12.04 com Unity. Na partida, todas as manhãs, faço uma rotina de abertura dos mesmos cinco ou seis programas. Abro cada um em um espaço de trabalho específico. Eu gostaria de ter isso automatizado. Existe uma maneira de script ou configurar isso?
Pergunta adicional : Para complicar ainda mais o assunto, estou executando duas telas no modo de exibição dupla. Na verdade, preciso iniciar cada programa em uma tela específica, de preferência em tela cheia.
unity
xorg
workspaces
x11
Jahn
fonte
fonte
Respostas:
A idéia de jdp407 de usar o compizconfig associará um aplicativo em particular a um espaço de trabalho em particular, para que, toda vez que esse aplicativo seja aberto, ele seja colocado no espaço de trabalho correspondente. Se isso não for desejado, você pode fazer o seguinte:
1) Instale
wmctrl
2) Crie um arquivo com o seguinte conteúdo e torne-o executável
3) Chame esse script
.xsessionrc
no diretório inicial [se precisar criar esse arquivo] para automatizar o processo a cada login. Ou você pode simplesmente chamá-lo de um terminal quando necessário. EDIT: Coloque-o em "Aplicativos de Inicialização", não em .xsessionrc. .xsessionrc será executado mesmo antes do carregamento do ambiente de área de trabalho.Você pode criar uma xsession personalizada, conforme sugerido por jdp407, para ter duas sessões para escolher, uma que abra esses aplicativos automaticamente e outra que não. Mas isso me parece desnecessário.
Se você acha que mudar para um espaço de trabalho, abrir aplicativos apropriados e depois mudar para o próximo é demorado, você pode abrir todos os aplicativos de uma só vez e mover as janelas usando
wmctrl
. Por exemplomudará uma janela com o Firefox em seu título para a área de trabalho 1. Se houver mais de uma janela, a primeira na lista de janelas gerenciadas por
wmctrl
será movida. Você precisará saber o título das janelas que serão criadas pelos aplicativos para usar isso. Por isso não sugeri isso como a principal opção. Se os títulos não forem ambíguos, como é o caso dos aplicativos mais usados, esse é o caminho a seguir.Abrindo aplicativos em tela cheia:
Alguns aplicativos como o gnome-terminal possuem argumentos de linha de comando para abrir uma janela no estado maximizado ou no modo de tela cheia. Se essas opções existirem, use-as. Caso contrário, use da
wmctrl
seguinte maneiraIsso maximiza minha janela de terminal (já existente).
Isso envia a janela para o modo de tela cheia.
Vá até
wmctrl
a página do manual. Você pode encontrar uso para mais funcionalidades.fonte
wmctrl
funciona bem aqui (LXDE e XFCE, composição via xcompgr ativado)wmctrl -o X,Y
para mover para uma viewport específica. Se você tiver vários monitores, poderá mover aplicativos para o outro monitor usandowmctrl -r "App name" -e G,X,Y,W,H
. Funciona bem com efeitos visuais de unidade.Existem dois 'problemas' aqui: o primeiro envolve a abertura de um conjunto específico de programas quando você faz login; o segundo envolve abri-los em áreas de trabalho específicas. Eu vou lidar com os dois separadamente:
Criando uma sessão X personalizada
Isso é bem fácil de fazer. Você simplesmente precisa criar um script de sessão X e depois instruir o LightDM a usá-lo. Você precisará conhecer os comandos para iniciar os programas que deseja do terminal.
touch ~/.customxsession
e pressione enter.gedit ~/.customxsession
e pressione enter.touch /usr/share/xsessions/multi.desktop
e pressione enter.gedit /usr/share/xsessions/multi.desktop
e pressione enter.Atribuindo programas a áreas de trabalho
Isso também é bastante fácil, mas ele precisa de algum software extra não instalado no Ubuntu por padrão.
sudo apt-get install compizconfig-settings-manager
no Terminal).Iniciar sessão
Ao fazer login, você precisa dizer ao Ubuntu que deseja usar sua X Session personalizada.
Problemas
Muita coisa poderia ter dado errado com isso, se você cometer um pequeno erro ou se eu cometi um erro ao escrever esta resposta. Se algo der errado, verifique se você seguiu as instruções da carta e corrija qualquer coisa, se não tiver. Se você ainda tiver um problema, deixe um comentário.
~ / .customxsession:
/usr/share/xsessions/multi.desktop:
fonte
Adicione os aplicativos necessários no Programa StarupApplications E adicione esse script também. Este é o meu script: ManageWorkSpaces.sh
// foco no terminal
Mas eu não tenho idéia sobre como lidar com 2 monitores.
fonte
wmctrl -d
, só tenho uma "área de trabalho". Você testou isso no Unity no Ubuntu 12.10?