92 votes

Comment démarrer des programmes linux GUI à partir de la ligne de commande, mais séparément de la ligne de commande ?

J'ai déjà cherché cette question, mais je n'ai jamais pu trouver de réponse.

Dans Windows, si j'ai une fenêtre de console ouverte, tapez winmine et appuyez sur Entrée, Minesweeper apparaîtra, complètement séparé du programme cmd. L'instance de Minesweeper n'est pas liée à l'invite de commande de quelque manière que ce soit, à l'exception du parent de Minesweeper qui est défini à cette instance de l'invite de commande. C'est différent sous Linux, cependant.

Sous Linux, si j'ai une fenêtre de console ouverte, je tape emacs et appuyez sur entrée, Emacs s'ouvre, mais il semble lié à la ligne de commande. Plus précisément, il semble que je ne puisse plus utiliser la ligne de commande tant que cette instance d'Emacs n'est pas fermée. Existe-t-il un moyen de reproduire le comportement de Windows sous Linux ?

Merci !

9voto

user42105 Points 36

Essayez de taper xemacs & pour ouvrir XEmacs en arrière-plan.

Veuillez ne pas appeler cela "émuler le comportement de Windows". Ouch.

Vous pourriez aussi :

  • Ouvrir un nouveau terminal
  • Utilisez Alt+F2 ou votre gestionnaire de fenêtres pour lancer le programme, au lieu d'utiliser le terminal.
  • Utiliser l'écran GNU

7voto

Jeff Dallien Points 1171

J'ai mis le code suivant dans un fichier exécutable script nommé "sbg" pour "silent background". Il fait toutes les choses nécessaires pour déconnecter complètement le programme en cours de démarrage du script : redirige stdin, stdout et stderr de/à /dev/null ignore les interruptions, fonctionne en arrière-plan et se détache.

#!/bin/bash
nohup "$@" &>/dev/null & disown %%

Alors vous pouvez simplement faire sbg emacs . Vous pouvez également passer tous les arguments que vous voulez : sbg emacs --daemon FILE1 FILE2 .

4voto

user441058 Points 515
command &

Mettez une esperluette après la commande.

3voto

JeffG Points 351

Si vous utilisez bash, vous pouvez déshabiller le processus :

% firefox &
% disown

3voto

URL87 Points 113

Comme le disent les autres réponses, vous pouvez utiliser ce qui suit :

$ emacs &

Si vous oubliez le & cependant, il suffit d'appuyer sur Ctrl-z puis utiliser bg :

[1]+  Stopped                 emacs
$ bg
[1]+ emacs &
$

FYI : Ctrl-z arrête le processus emacs et bg envoie en arrière-plan.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X