Le curseur de la souris s'est transformé en un "plus épais", ne peut pas cliquer mais la souris peut se déplacer

24

J'ai Ubuntu 16.04. La dernière chose dont je me souviens avoir tapé dans le terminal était import python Cela a été fait par erreur et j'ai Ctrl+ Zpour mettre fin à ce processus. J'avais pip uninstall monarypeut-être avant ça.

Mais en ce moment, la souris est bloquée comme un plus (imaginez un plus fait de coins de 4 carrés adjacents avec un très léger espace entre les deux). Il ne peut pas cliquer, bien que le curseur puisse se déplacer n'importe où sur l'écran. J'ai même essayé une souris externe mais le résultat est le même.

Je prévois de redémarrer mon ordinateur et cela pourrait résoudre le problème. Mais, je veux savoir ce qui a causé cela, et si cela se reproduit, que dois-je faire?

KugelBlitz
la source

Réponses:

40

import est la commande pour créer une capture d'écran, fournie par la suite d'outils ImageMagick.

Quand tu cours

import something

en tant que commande shell, il vous montrera un curseur en forme de croix pour sélectionner une zone rectangulaire de l'écran pour la capture, puis l'enregistrer en tant que fichier something.

Vous avez maintenant appuyé sur Ctrl+ Z, qui est le raccourci pour geler un processus et revenir à l'invite de commandes dans Bash. Il importest donc toujours "en cours d'exécution" (pas exactement - il est figé, mais toujours existant) et n'a pas eu la possibilité de quitter ou de reprendre le contrôle de la souris et de l'écran.

Vous devez continuer le importprocessus en le décongelant par exemple et en le ramenant au premier plan du shell à l'aide de la fgcommande Bash. Il quittera probablement immédiatement alors, sinon vous pouvez le terminer avec Ctrl+ C.

Alternativement, vous pouvez également simplement tuer le processus en fermant la fenêtre du terminal parent / la session Bash ou en utilisant une commande comme killall -KILL import.

Byte Commander
la source
6
wow, vous êtes monsieur un génie
Derek
Par accident, j'ai exécuté le script python en tant que shell (il n'y avait pas de shebang), cela a résolu le problème. Merci.
jcubic
1
'exit -f' fonctionne également si vous ne vous souciez pas du contenu de la fenêtre de terminal actuelle.
jackw11111
Merci d'avoir résolu ce problème. Mais maintenant, j'ai le problème parent - je veux exécuter un script python à partir de la ligne de commande, mais il lancera ImageMagick lorsqu'il frappera l'instruction d'importation? Comment puis-je contourner cela?
Tharpa
2
@Tharpa Soit vous devez l'exécuter manuellement avec le bon interpréteur (comme par exemple python3 path/to/my_script.py), soit vous devez vous assurer que votre script a un "shebang" correct, c'est-à-dire que la première ligne du fichier commence par #!suivie du chemin d'accès à l'interpréteur requis ( pour Python 3, vous utiliseriez habituellement #!/usr/bin/env python3).
Byte Commander
5

La plupart du temps, ce problème se produit en raison du conflit dans l'importation de scripts python avec la commande Linux "import", j'ai rencontré ce problème plusieurs fois et j'ai utilisé une solution simple.

type "bg" on your terminal
then "Cnt + c"
jax
la source
3

Si vous avez la session de terminal en vie. Vous pouvez utiliser la commande bg pour revenir à la dernière commande que vous avez exécutée. Une fois que vous avez récupéré le processus dans le terminal, arrêtez-le simplement en utilisant ctrl + c .

Si la session de terminal n'est pas en direct, vous pouvez tuer le processus en utilisant ps -ax | grep "nom de commande" une fois que vous avez l'identifiant du processus, vous pouvez le tuer en utilisant la commande, kill pid .

Prabhakar Jha
la source