Vraag Opdrachtregel om te schakelen tussen profielen in gnome-terminal


Ik heb een nieuw profiel voor gnome-terminal gemaakt en ik kan schakelen tussen het "Implicit" -profiel en het nieuw gemaakte profiel zoals je kunt zien in de onderstaande afbeelding:

Switch between profiles in gnome-terminal

Nu vraag ik me af hoe ik kan schakelen tussen profielen met behulp van een opdrachtregel of script of misschien een snelkoppeling hiervoor gebruiken.

Notitie: Oplossingen zoals:

gnome-terminal --tab-with-profile=Implicit && exit 

zijn uitgesloten omdat ik er de voorkeur aan geef om geen andere terminal te sluiten en te openen of om een ​​ander terminalvenster te krijgen in dit proces van het wijzigen van het profiel.


18
2017-07-27 10:53


oorsprong


Met gconftool-2 kunt u het profiel instellen waarvan de wijzigingen onmiddellijk zijn. Hebt u dit gecontroleerd ->stackoverflow.com/questions/660442/... - Stormvirux
@Stormvirux Nee ... Dus kunt u uitleggen hoe u gconftool of gconftool-2 gebruikt om van profiel te wisselen? Ik zie daar geen goed antwoord / uitleg. - Radu Rădeanu
dubbele vraag: askubuntu.com/questions/247041/... - Jakob


antwoorden:


Overschakelen naar het "impliciete" profiel:

xdotool key Alt+t p Return

Overschakelen naar het tweede profiel:

xdotool key Alt+t p Down Return

xdotool  Install xdotool is niet standaard geïnstalleerd in Ubuntu, dus moet het eerst worden geïnstalleerd.

Natuurlijk, want deze commando's kunnen zijn aangepaste sneltoetsen toegevoegd.


6
2017-11-14 18:33



Dat is geen kortere weg. Je simuleert alleen de toetsaanslagen, is alleen geheugensteuntje van de applicatie. - Braiam
@Braiam Ja, het is geen kortere weg, ik kan het zien. Het is een opdrachtregel (zien man xdotool voor meer info) zoals ik vroeg, en dat werkt precies zoals ik het wil en ik ben blij met dit antwoord totdat er iets beters zal verschijnen. ;) - Radu Rădeanu
Je serieus zou moeten overwegen om dat in de bugtracker te suggereren ... - Braiam
@Braiam Zoals ik al zei, ik ben ok met deze oplossing, het werkt als een charme. Wat uw suggestie betreft, is er een in deze zin vanaf 2002 (gewijzigd in 2010: "Het zou extra leuk zijn als ik precies twee toetsaanslagen kan gebruiken om het profiel van mijn keuze te openen." - zien deze opmerking). Dus, waarom denk je dat ik een nieuwe moet toevoegen? Houd je van duplicaten? - Radu Rădeanu
Het werkt niet meer onfortuinlijk - RobAu


Er is geen snelkoppeling waarmee u het profiel binnen de terminal kunt wijzigen (zonder door de menu's te navigeren zoals u in opmerkingen hebt gezegd), zonder het gebruik van de GUI. Citeren van de handleiding (stal, ontwikkeling 3.9):

U kunt het profiel in uw huidige tabblad Terminal of venster wijzigen door een profiel te selecteren in Terminal ▸ Profiel wijzigen.

(U kunt dit voorstellen als in de bug tracker)


3
2017-08-03 21:51



Eigenlijk is er een snelkoppeling: Alt + T gevolgd door P, Pijltje omhoog of Pijl-omlaag en invoeren. Maar dit is een beetje lang ... - Radu Rădeanu
@ RaduRădeanu Alt + T werkt niet in mijn terminal 3.8.3: / - Braiam
@ RaduRădeanu Ik vermoed dat alt + t is in feite met behulp van de GUI gebruikt het gewoon geen muis. - moon.musick
@Braiam Als u een niet-Engelse versie van de gnome-terminal, druk op alt en zie welke letter wordt gemarkeerd voor uw taalversie van 'Terminal' (het vijfde item in mijn Poolse versie, net links van 'Help'), gebruik dan die letter met alt. - moon.musick
@ moon.musick Ik gebruik de Debian-versie van gnome-terminal 3.8.3 en schijn dat deze de Alt-modifier niet heeft om toegang te krijgen tot de menu's. - Braiam


Ik was op zoek om hetzelfde te doen en kreeg eindelijk een script aan het werk, ik heb het op mijn computer gezet GitHub.

Zoals ik in README.md uitleg, schakelt het niet echt, maar laadt een profielenconfiguratie in het standaardprofiel. Om dit te doen, wordt de configuratie van elk profiel opgeslagen in het bestand bij de eerste uitvoering van het script. Het script laat het lijken alsof je schakelt tussen profielen, wat goed genoeg is voor mij. Ik hoop dat het iedereen helpt ...


3
2017-11-22 11:40





Afhankelijk van je doel kan dit script nuttig zijn: https://github.com/xyrix/gnome-terminal-profile-switcher

Het doet een soort aap-patch en genereert een nieuw profiel voor elke terminal, en stelt dan enkele omgevingsvariabelen in om een ​​programma te tonen voor het wijzigen van het thema van het profiel voor uw huidige terminal.

Hopelijk maakt het voorbeeld-script safe_ssh dingen duidelijk :-). Ik gebruik het nu al een jaar en het heeft me geholpen de live database ^ _ ^ van het bedrijf niet te vernietigen


2
2018-01-10 19:23





Als je een lijst hebt met servers die je vaak bezoekt, denk ik dat de eenvoudigste oplossing is om gewoon een tweede venster aan te roepen alleen voor de sessie van die box.

Maak eerst een apart gnome-terminal-profiel voor elke externe locatie die u vaak gebruikt. Geef vervolgens in elk profiel op dat de terminal de SSH-inlogopdracht voor dat vak moet uitvoeren in plaats van een gewone shell.

ssh alice@athena

Schrijf ten slotte een kort script om een ​​nieuw extern venster te openen met een profiel-ID.

#!/bin/bash
if [[ $# -ne 1 ]] ; then
  echo "Give me a server/profile name!"
  exit 1
fi
gnome-terminal --window-with-profile=$1
exit 0

Met behulp van deze strategie kun je "oneindig" het uiterlijk van het terminalvenster van elke doos veranderen en ze van een enkele "controle" -terminal schoppen. Als we dit script bijvoorbeeld 'rlv' noemen, kunnen we een extern venster spawnen door eenvoudigweg het script aan te roepen met een profielnaam.

>> rlv athena

Als u ooit een hostnaam vetert, of verzuimt om een ​​profiel voor die host in te stellen, dan krijgt u gewoon een ander standaardprofielvenster in het lokale vak. Er is een manier om het script te coderen om dit te voorkomen, door de login in het script zelf te plaatsen in plaats van in de gnome-terminal:

#!/bin/bash
if [[ $# -ne 1 ]] ; then
  echo "Give me a server/profile name!"
  exit 1
fi
gnome-terminal --window-with-profile=$1 -e "ssh $1"
exit 0

... maar dan verlies je de flexibiliteit om je gebruikersnaam voor dat vak te definiëren. Dat extra kenmerk van het script dat ik achterlaat als een oefening voor de lezer.


1
2018-05-20 19:32





Ik heb net gemerkt dat mijn oorspronkelijke oplossing al in de vraag is afgewezen. Hoewel er geen eenvoudige manier lijkt om het profiel te wijzigen, kunt u de achtergrondkleur wijzigen met behulp van setterm opdracht.

Dus dit setterm -term linux -background black -foreground green zou je een zwarte achtergrond geven met groene tekst. Het enige probleem is dat het de uitvoer heeft gekleurd, dus je wilt misschien de kleuren ervan uitschakelen. Anders wordt het teruggezet naar het vorige kleurenschema

Oorspronkelijke post: Er is een soort van omweg. Van man gnome-terminal:

--window-met-profile = PROFILENAME

             Open a new window containing a  tab  with  the
             given profile.  More than one of these options
             can be provided.

Hier is een voorbeeld van mijn machine. Ik heb drie profielen: B & G (zwart op groen), ForPrinting (zwart lettertype, witte achtergrond) en Standaard. Dus wat ik doe is in het huidige venster type gnome-terminal --window-with-profile=ForPrinting . Vervolgens kan ik ofwel het oude venster van de opdrachtregel doden of schakelen en het grafisch sluiten.

B & G-profiel werkt niet. Waarschijnlijk omdat & is geen geldig karakter, dus houd dat in gedachten bij het benoemen van profielen.


1
2017-09-28 07:57





De erg lelijke oplossing die ik heb gebruikt, is

unset x y
eval $(xwininfo -id $(xdotool getactivewindow) |
       sed -n -e 's/^ \+Absolute upper-left X: \+\([0-9]\+\).*/x=\1/p' \
              -e 's/^ \+Absolute upper-left Y: \+\([0-9]\+\).*/y=\1/p')
xdotool mousemove $(($x + 50)) $(($y + 50))
xdotool click 3; xdotool key --repeat 3 Up; xdotool key Right; xdotool key --delay 50 Down; xdotool key --delay 50 Return

(Hiermee selecteert u het tweede profiel, maar u kunt dit wijzigen om het htir-profiel te zeggen door de tweede opdracht "toets Omlaag" te wijzigen in xdotool key --delay 50 --repeat 2 Down.

Wat doet dit:

  1. vind de coördinaten linksboven van het huidige venster (bijvoorbeeld de gnome terminal in gebruik).
  2. verplaats de muis om over die terminal te gaan
  3. klik met de rechtermuisknop en navigeer door het contextmenu om het tweede profiel te selecteren.

Je hebt xdotool geïnstalleerd sudo apt install xdotool.

Een beetje uitzonderlijk dat de terminal zelf geen configuratie via de terminal toestaat!


0
2018-03-22 14:45