J'aimerais pouvoir utiliser emacs sur un seul ordinateur:
server $ emacs --daemon
Et puis connectez-vous à partir d'un autre:
local $ emacsclient -c server
Est-ce possible? Si c'est le cas, comment?
daemon
emacsclient
networking
liszt
la source
la source
Réponses:
Vous ne pouvez pas utiliser emacsclient pour vous connecter à une instance Emacs s'exécutant sur un ordinateur distant. Ce concept client-serveur est lié aux processus (locaux) et non aux nœuds de réseau. Cependant, vous pouvez utiliser différentes technologies réseau pour vous connecter à l'ordinateur distant, vous connecter à un serveur emacs qui y est installé et afficher l'écran de emacsclient localement. Selon le système d'exploitation utilisé, la mise en réseau peut être réalisée via SSH (terminal / X-Forwarding), VNC, RDP, etc.
UPDATE :
Comme certaines personnes l’ont souligné, emacsclient a en fait une option pour se connecter au serveur via TCP. Cependant, emacsclient n'a jamais été conçu pour être utilisé à distance. L'option socket TCP est requise pour la compatibilité avec les systèmes non UNIX (c'est-à-dire les systèmes d'exploitation où les sockets de domaine UNIX ne sont pas disponibles, comme Windows).
la source
Probablement pas ce que vous avez demandé, mais en supposant que vous avez configuré ssh avec X-forwarding, vous pouvez démarrer emacsclient sur le serveur et le transférer vers DISPLAY à distance. (Avertissement: code saisi directement dans le formulaire Web)
la source
Ce n'est peut-être pas ce que vous voulez, mais juste au cas où cela pourrait vous aider.
Je travaille habituellement dans une machine virtuelle démarrée avec Vagrant. Mon
~/.emacs.d
répertoire est synchronisé entre ma machine (locale) et la machine virtuelle (distante), en mettant les informations suivantes dans leVagrantfile
fichier:De plus, ma configuration Emacs démarre automatiquement un serveur au démarrage:
Ainsi, lorsque je lance un serveur Emacs dans la machine virtuelle, je peux me connecter à celui-ci avec les éléments suivants:
virtual machine hostname est le nom d'hôte de la machine virtuelle que j'ai configurée dans mon ~ / .ssh / config:
Note: Avant de lancer le serveur Emacs à l'intérieur de la machine virtuelle, je vérifie que le
~/.emacs.d/server/server
fichier n'est pas présent (si c'est le cas, je le supprime), car sinon il ne fonctionnerait pas.la source
.ssh/config
fichier. Il vous suffit de spécifier leHost
. En cas de doute, vous pouvez utiliser le résultat de la commande:vagrant ssh-config
pour définir votre~/.ssh/config
fichier.emacsclient et TRAMP
Ouvrir automatiquement les fichiers distants dans emacs local
J'ai eu du succès avec la première solution. La seconde semble être plus simple, je n'ai pas encore essayé.
la source