Il m'arrive parfois, que j'appuie sur CTRL+ Zpar accident et mon application disparaît en arrière-plan. Je sais, je peux le ramener fg
, donc ce n'est pas si grave. Mais je me demande de désactiver cela job control
de toute façon. Dans toute ma vie, je ne me souviens pas d'un cas où j'en avais besoin, il me semble juste comme une relique du passé.
Est-ce correct de désactiver job control
complètement? Ou est-ce que je manque quelque chose et cette fonctionnalité peut être utile? Comment pourrais-je le désactiver dans mon.bashrc
METTRE À JOUR:
J'ai essayé set +m
comme suggéré par @Falsenames. Cependant, cela ne fonctionne que lorsque je le tape dans le terminal. L'ajout set +m
à mon .bashrc
n'a aucun effet.
bash
bashrc
job-control
Martin Vegter
la source
la source
$-
(liste des options actives) ne contient plusm
lorsque vous placezset +m
dans votre~/.bashrc
suggère que Bash essaie de désactiver le contrôle des tâches, mais finalement ne le fait pas à cause d'un bug - peut être utile de le signaler via [email protected]Réponses:
Vous pouvez ajouter ce qui suit dans votre ligne de commande pour arrêter d'utiliser le mode de surveillance.
set + m
Si vous avez vraiment besoin de la fonctionnalité ctrl-z plus tard, vous pouvez simplement taper «set -m» pour activer la surveillance de cette session.
De l' homme bash . Notez que c'est pour '-m', avec "+ m" basculant ce paramètre pour désactiver.
Comme dernier effort, vous souhaiterez peut-être compiler manuellement une version de bash sans l'indicateur "--enable-job-control". Voici un guide d'installation rapide de GNU. Si vous choisissez de suivre cette route, NE remplacez PAS / bin / bash juste au cas où les processus d'arrière-plan exécutés par bash attendent le contrôle des travaux. À la place, créez un fichier /bin/bash.alt ou un autre fichier. Votre shell par défaut peut être changé en celui-ci en exécutant usermod ou en éditant / etc / passwd en tant que root.
la source
set +m
fonctionne dans le terminal, mais quand je l'ajoute à mon.bashrc
, cela n'a aucun effet..bashrc
.stty susp undef
désactivera le signal de suspension lancé par le clavier pour la plupart des programmes, cependant les commandes commevim
etemacs
qui ont des liaisons spécifiques pour Ctrl-Zdevront être reconfigurées individuellement.Vous pouvez ajouter cette commande stty à votre
~/.bash_profile
ou~/.profile
, déconnectez-vous, reconnectez-vous.la source
mc
cela ne fonctionne pas. Ce qui confirme essentiellement ce que vous avez dit. N'existe-t-il pas de solution universelle qui fonctionne pour tous?set +m
fonctionne pourmc
, mais seulement si je le tape dans le terminal, pas dans.bashrc
ou.profile
.Pour répondre à cette partie de la question: Cz /
fg
combo est essentiel à mon workflow vim. Par exemple, je préfère Cz>git commit
>fg
à l' aide d' emballages git à l' intérieur vim.Cz aide à traiter le shell comme IDE, conformément au principe " do one thing ". (Ceci au lieu de "éditeur comme IDE").
la source
^Z
est absolument toujours utile - mais c'était encore plus utile quand un terminal n'était pas une fenêtre, mais une boîte devant vous. Et vous n'en aviez qu'un.Ajoutez
trap "" SIGTSTP
votre script. Il captera le signal et l'ignorera.la source