Question:
Comment afficher une image via ssh?
Francesco Boi
2018-01-17 22:17:59 UTC
view on stackexchange narkive permalink

Je me suis connecté à ma framboise via ssh depuis un autre pc. Je voudrais afficher une image qui se trouve sur ma framboise sur l'écran de mon PC. J'ai essayé de suivre la réponse à cette question par astrogeek.

Supposons que mon utilisateur framboise est pi et que l'utilisateur pc est pc.

J'ai exécuté sur mon pc la commande

  xhost + pi @ <rasp_ip>  

et sur le terminal connecté via ssh à la framboise

  DISPLAY = pc @ <pc_ip>: 0  

mais quand j'essaye d'ouvrir l'image * jpg avec fbi et d'autres outils mais rien.

Est-ce que quelqu'un sait comment faire ça sans copier l'image localement?

La même méthode fonctionnera-t-elle en utilisant la pi-camera en temps réel avec la commande raspistill -t 3000 par exemple?

EDIT: Mon système d'exploitation PC est Ubuntu.

S'agit-il d'un PC Windows? Si tel est le cas, le transfert X ne fonctionnera pas, car votre PC Windows n'exécute pas le serveur d'affichage X.
Non, c'est Ubuntu. Je vais le préciser dans la question.Merci
Pour raspicam, vous voudrez peut-être installer / activer UV4L à la place (cela fournit un serveur de vidéo en streaming basé sur HTTP; vous pouvez également prendre des photos): https://www.linux-projects.org/uv4l/installation/
Cinq réponses:
Fabian
2018-01-22 04:06:26 UTC
view on stackexchange narkive permalink

Une autre option avec Raspbian est feh.

  1. connectez-vous depuis votre PC avec ssh -X user@ip.of.your.pi (majuscule X!)
  2. utilisateur @ raspi: ~ $ feh /chemin/picture.jpg

Remarque: le chargement n'est pas ultra-rapide, attendez patiemment.

Si le paquet feh est manquant, vous pouvez l'installer via cli:

sudo mise à jour apt-get; sudo apt-get install feh

feh fonctionne mais pas fbi et pqiv.
user13700
2018-01-21 22:26:56 UTC
view on stackexchange narkive permalink

Afficher une image via ssh prise littéralement:

Installez libsixel-bin sur le PI et utilisez un terminal compatible sixel sur le PC. Le XTerm de Debian peut le faire, donc probablement le XTerm d'Ubuntu aussi.

Ajoutez ceci à votre $ HOME / .Xresources sur le PC:

  XTerm * decTerminalID: vt340XTerm * numColorRegisters: 256  

Sixel over SSH

Pour plus d'informations sur les produits Sixel, consultez github.com/ saitoha / libsixel.

madneon
2018-01-17 23:49:41 UTC
view on stackexchange narkive permalink

Si vous avez installé Ubuntu par défaut, vous pouvez "monter" votre Raspberry avec une connexion SSH, et le parcourir facilement comme les répertoires locaux.

Dans Nautilus (navigateur de fichiers par défaut), modifiez l'emplacement (appuyez sur Ctrl + L pour mettre l'accent sur la barre d'emplacement), entrez quelque chose comme ceci:

  sftp: // username @ host: port / path  

Par exemple:

Screenshot showing sftp usage

Vous pouvez omettre le port si son SSH par défaut 22, et bien sûr vous pouvez utiliser le littéral host_name si vous avez DNS ou host_name.local si vos machines LAN utilisent mDNS.

Chetan Bhargava
2018-01-18 01:07:27 UTC
view on stackexchange narkive permalink

Depuis votre machine Ubuntu

  xhost + ssh -X pi @ <rasp_ip>  

Une fois que vous êtes connecté, l'appel de vos applications graphiques les ouvrira sur votre connexion de l'ordinateur.

Cela fonctionne pour l'application de test xeyes par exemple. Cependant, j'ai essayé avec fbi et fim d'ouvrir une image jpg: les deux ont renvoyé une erreur similaire: ioctl VT_GETSTATE: ioctl inapproprié pour le périphérique. un appareil connecté à la framboise.
@FrancescoBoi Je ne suis pas familier avec l'application fbi et vous avez peut-être raison de jouer directement sur framebuffer, mais vous pouvez utiliser pqiv pour afficher avec X. sudo apt-get install pqiv.
Salut, merci pour votre réponse. Votre réponse semble bonne. Cependant, je reçois des erreurs et des avertissements (même lorsque je me connecte avec ssh ou une mise à jour) concernant les paramètres régionaux. Je pense que les problèmes de localisation affectent également ce prolem donc je vais essayer de résoudre les problèmes de localisation et ensuite revenir ici.
Les erreurs de localisation @FrancescoBoi concernent la langue, la page de codes, etc. Elles ne devraient pas affecter l'affichage des images. Voici un article sur les paramètres régionaux https://www.raspberrypi.org/forums/viewtopic.php?t=11870
@teoguso -X n'est pas obsolète mais -Y a un objectif différent. Veuillez vous référer à https://man.openbsd.org/ssh. Je n'ai pas encore testé -Y.
@FrancescoBoi avez-vous réussi à le résoudre?
Non, je ne l'étais pas. Je vais réessayer étape par étape et coller les erreurs.
Erreur lors de l'utilisation de fbi: utilisation de "DejaVu Sans Mono-16", pixelsize = 16.67 file = / usr / share / fonts / truetype / ttf-dejavu / DejaVuSansMono.ttfioctl VT_GETSTATE: ioctl inapproprié pour le périphérique (pas une console Linux) ---- --Erreur avec pqiv: (pqiv: 4206): GLib-GObject-WARNING **: Tentative d'ajout de la propriété GtkSettings :: gtk-button-images après l'initialisation de la classeusage: pqiv [options] pqiv version 0.12 par Phillip Bernd ----- Erreur avec sudo pqiv: Connexion X11 rejetée en raison d'une mauvaise authentification.Échec d'ouvrir l'affichage X11 .--------- Je répète les travaux de xeyes.
Merci pour votre aide. Comme suggéré par un autre utilisateur, j'ai essayé feh et avec feh tout va bien. Avec fbi et pqiv no.
cacachu
2018-01-21 18:33:07 UTC
view on stackexchange narkive permalink

Le moyen le plus simple que je connaisse est l'UV4L, car vous pouvez obtenir un flux vidéo ou des images JPEG en temps réel de ce que le Raspberry Pi affiche sur l'écran HDMI qui lui est connecté (ou afficherait, si vous le faites pas d'écran HDMI connecté). C'est facile car il vous suffit d'ouvrir le navigateur et de saisir l'URL correcte (par exemple http: // rpi_address : 8080 / stream / webrtc) pour démarrer le flux dans la page. Il existe également un bouton pour enregistrer la vidéo au format .webm standard. De plus, il est possible d'envoyer des touches de votre PC au Raspberry Pi pour le contrôler depuis le navigateur lui-même, mais c'est une autre histoire. Vous n'avez pas nécessairement besoin d'un serveur X fonctionnant sur votre Rpi.

Pour ce faire, vous devrez installer le pilote raspidisp en suivant ces instructions qui mentionnent ceci à propos de raspidisp au bas de la page:

Le pilote raspidisp transforme la sortie HDMI en un périphérique d'entrée virtuel compatible Video4Linux (comme une caméra). Vous n'avez pas nécessairement besoin d'un écran connecté au port de sortie HDMI du Raspberry Pi. En d'autres termes, ce pilote peut capturer tout ce que vous voyez ou verriez à l'écran.

Ceci est utile si vous avez un Raspberry Pi sans tête. Avec l'aide du serveur de streaming UV4L, vous pouvez avoir un contrôle total du Raspberry Pi à partir de n'importe quel navigateur (fonctionnant sur un PC dans le même réseau, par exemple). En fait, il est possible de diffuser le frame buffer du Raspberry Pi vers une page Web standard dans le navigateur (sans plugin) avec une latence très faible et, en même temps, de transférer les événements d'entrée clavier ou souris du PC vers le Raspberry Pi . Si vous voulez essayer ceci, à part uv4l-raspidisp, le paquet uv4l-raspidisp-extras doit être installé:

$ sudo apt-get install uv4l-raspidisp-extras

Le package ci-dessus comprend un service système qui démarre automatiquement une instance uv4l au démarrage et, s'il est installé, également une instance du Serveur de streaming écoutant le port 9080 par défaut. Le service demande à uv4l d'analyser le fichier de configuration /etc/uv4l/uv4l-raspidisp.conf pour les valeurs des paramètres initiaux.

Ceci est une DEMO, plus ciblée en montrant ses capacités de lecture, mais vous pouvez avoir l'idée.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...