Permanentemente tem um CLI / Terminal em um espaço de trabalho?

2

É possível que eu tenha uma CLI ou Terminal permanente em um dos espaços de trabalho no Ubuntu 14.04, de modo que o Terminal / CLI inicie na inicialização e não possa ser fechado.

Eu preciso usar muito o terminal e, embora abri-lo no modo maximizado funcione bem, eu gostaria de tê-lo colado em algum espaço de trabalho permanentemente.

    
por Registered User 06.10.2014 / 06:08

4 respostas

4

Existem poucas coisas ..

1-- Será muito mais fácil e rápido se você usar o tremor como sugerido acima.

2-- Mesmo se você quiser consertar seu terminal em algum outro espaço de trabalho permanentemente, você pode fazê-lo através do CCSM (Compiz) = > gerenciamento de janelas = > Coloque a janela = > Pergaminho de janela fixa = > Janela de visualização fixa da janela

Vocêpodeescolheroespaçodetrabalhoalterando'PosiçãodoXViewportePosiçãodoYViewport'

Emseguida,vocêgostariadeadicionaroterminalnosaplicativosdeinicialização.ParaquevocênãoprecisecomeçarsozinhoIssopodeserfeitofacilmenteatravésde

EmDash--searchStartupapplications=>Adicionar

Isso, eu acho, é suficiente para suas necessidades.

Fontes: Abra a aplicação na área de trabalho específica Como iniciar o terminal no login

    
por hunch 07.10.2014 / 07:05
2

Não é exatamente a resposta, mas você pode instalar o terminal GUAKE no Ubuntu.

sudo apt-get install guake

Pressionar F12 ativa / desativa o modo. Mais rápido do que mudar os espaços de trabalho. :)

    
por sumit 06.10.2014 / 07:26
1

Permanentemente, um ou mais aplicativos são executados em viewport (s) específica (s)

Para o esporte: para manter um ou mais aplicativos em execução em uma ou mais viewports especificadas, você pode usar o script abaixo. Ele é executado em segundo plano e funciona como você descreve, mas você pode adicionar vários aplicativos para continuar executando em diferentes viewports.

Embora o script pareça um pouco extenso, a maior parte é executada apenas uma vez, para coletar dados sobre a abrangência de sua (s) viewport (s), colunas da viewport & amp; linhas, resolução de tela e tal. Não faz parte do loop.

Se você fechar a janela do aplicativo especificada para a viewport, ela abrirá uma nova janela do aplicativo na viewport de destino.

Como usar:

Primeiro: instale wmctrl :

sudo apt-get install wmctrl

Em seguida, basta copiar o script em um arquivo vazio, definir o (s) aplicativo (s) necessário (em uma ou mais tuplas em uma lista, ver exemplo na seção head do script) e a (s) viewport (s) de destino você precisa dele para rodar (e manter disponível). Salve-o como keep_running.py e torne-o executável.

execute-o pelo comando:

/path/to/keep_running.py

opcionalmente, você pode adicioná-lo aos seus aplicativos de inicialização.

O script:

#!/usr/bin/env python3

import subprocess
import time

# list applications and targeted viewports
applications = [("gnome-terminal", 4), ("gedit", 3)]

def get_value(command):
    return subprocess.check_output(
        ["/bin/bash", "-c", command]).decode('utf-8').strip()

def screendata():
    getres = get_value("xrandr").split(); idf = getres.index("current")
    screen_res = (int(getres[idf+1]), int(getres[idf+3].replace(",", "")))
    wsp_info = get_value("wmctrl -d").strip()
    scr_data = [item.split("x") for item in wsp_info.split(" ") if "x" in item][0]
    VP_hor = int(scr_data[0])/int(screen_res[0])
    VP_vert = int(scr_data[1])/int(screen_res[1])
    ranges_hor = [i*screen_res[0] for i in range(int(VP_hor))]
    ranges_vert = [i*screen_res[1] for i in range(int(VP_hor))]
    w_positions = [(int(ranges_hor[i]), int(ranges_vert[i2]))\
                   for i2 in range(len(ranges_vert)) for i in range(len(ranges_hor))]
    return {"resolution": screen_res, "horizontal": ranges_hor,
            "vertical": ranges_vert, "columns": int(VP_hor),
            "window_positions": w_positions}

def get_viewport(abs_h, abs_v): #calculates viewport from absolute coords
    hor = screen_data["horizontal"]
    vert = screen_data["vertical"]
    hor_position = len([n for n in hor if int(abs_h) >= n])
    vert_position = len([n for n in vert if int(abs_v) >= n])
    return int(hor_position+(vert_position-1)*screen_data["columns"])

def window_position(rel_h, rel_v): #calculates viewport from coords, relative to current viewport
    wsp_info = get_value("wmctrl -d").strip().split()
    vp_coords = eval(wsp_info[wsp_info.index("VP:"):][1])
    abs_h = rel_h+vp_coords[0]
    abs_v = rel_v+vp_coords[1]
    return get_viewport(abs_h, abs_v)

def pid_appinfo(pid):
    get_app = "ps -p "+pid+" -o comm="
    return get_value(get_app)

def check_windows():
    try:
        wlist = get_value("wmctrl -l -p -G")
    except Exception:
        # retry; when switching viewports while the command runs, it raises an error
        wlist = get_value("wmctrl -l -p -G")
    wdata = [l.split()[2:5] for l in wlist.split("\n")]
    app_windows = []
    for item in wdata:
        if item[0] != "0":
            try:
                if pid_appinfo(item[0]) == application\
                    and window_position(int(item[1]), int(item[2])) == target_viewport:
                    app_windows.append(item)
            except Exception:
                pass
    if len(app_windows) == 0:
        targeted_viewport = str(screen_data["window_positions"][target_viewport-1])\
                            .replace("(","").replace(")","")
        subprocess.call(["wmctrl", "-o", targeted_viewport])
        subprocess.Popen([application])

screen_data = screendata()

while True:
    for item in applications:
        application = item[0]; target_viewport = item[1]
        check_windows()
        time.sleep(2)

Este script também está em gist.gisthub

    
por Jacob Vlijm 07.10.2014 / 12:53
0

Que tal configurar a área de trabalho como você gosta. Em seguida, faça um desligamento, mas selecione a opção Salvar sessão, se disponível. Pode trabalhar?

    
por JohnDonaldsonf 07.10.2014 / 04:35