|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
#######
#
# E-scripts on tramp.
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
# (find-eev-quick-intro)
# http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/tramp.e>
# or at <http://angg.twu.net/e/tramp.e.html>.
# See also <http://angg.twu.net/emacs.html>,
# <http://angg.twu.net/.emacs[.html]>,
# <http://angg.twu.net/.zshrc[.html]>,
# <http://angg.twu.net/escripts.html>,
# and <http://angg.twu.net/>.
#
#######
# «.tramp-from-git» (to "tramp-from-git")
# «.load-new-tramp» (to "load-new-tramp")
# «.tramp-2.1.9» (to "tramp-2.1.9")
# «.tramp-plink» (to "tramp-plink")
# «.password-cache» (to "password-cache")
# «.multi-hop» (to "multi-hop")
# «.mailing-list» (to "mailing-list")
# «.tramp-verbose» (to "tramp-verbose")
# «.ftp» (to "ftp")
# «.ad-hoc-multi-hops» (to "ad-hoc-multi-hops")
# «.sudo-remote» (to "sudo-remote")
# «.tramp-debug-buffer-name» (to "tramp-debug-buffer-name")
# «.debug-repl-email-1» (to "debug-repl-email-1")
# «.debug» (to "debug")
# «.vc-ignore-dir-regexp» (to "vc-ignore-dir-regexp")
# Still in the old place:
# «tramp-from-git» (to ".tramp-from-git")
# «load-new-tramp» (to ".load-new-tramp")
# «tramp-2.1.9» (to ".tramp-2.1.9")
# «tramp-plink» (to ".tramp-plink")
# «password-cache» (to ".password-cache")
# «multi-hop» (to ".multi-hop")
# (find-es "emacs" "tramp-from-git")
# (find-es "emacs" "load-new-tramp")
# (find-es "emacs" "tramp-2.1.9")
# (find-es "emacs" "tramp-plink")
# (find-es "emacs" "password-cache")
# (find-es "emacs" "multi-hop")
#####
#
# mailing-list
# 2023oct15
#
#####
# «mailing-list» (to ".mailing-list")
# https://lists.gnu.org/r/tramp-devel/
# https://lists.gnu.org/archive/html/tramp-devel/
# https://lists.gnu.org/archive/html/tramp-devel/2023-09/index.html
# https://lists.gnu.org/mailman/listinfo/tramp-devel
#####
#
# tramp-verbose
# 2013sep13
#
#####
# «tramp-verbose» (to ".tramp-verbose")
# http://lists.gnu.org/archive/html/emacs-orgmode/2013-09/msg00564.html eric
#####
#
# ftp
# 2023sep24
#
#####
# «ftp» (to ".ftp")
# (find-es "android" "ftp")
# (find-angg ".emacs" "switftp")
# (find-file "/ftp:anonymous@ftp.gnu.org:/gnu/coreutils")
# (find-file "/ftp:ftp@192.168.1.2#2121:/")
# (find-node "(tramp)Password handling")
# (find-node "(tramp)Password handling" "because TRAMP passes the work to Ange FTP")
# (find-node "(tramp)Archive file names" "/ftp:anonymous@ftp.gnu.org:")
# (find-node "(tramp)Quick Start Guide" "host#port")
# (find-efile "net/ange-ftp.el")
# (setq ange-ftp-generate-anonymous-password nil)
(setq auth-source-debug t)
(code-c-d "whatsappimages" "/ftp:ftp@192.168.1.2#2121:/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp Images/")
(code-c-d "whatsappvideo" "/ftp:ftp@192.168.1.2#2121:/Android/media/com.whatsapp/WhatsApp/Media/WhatsApp Video/")
(code-c-d "dcimcamera" "/ftp:ftp@192.168.1.2#2121:/DCIM/Camera/")
;; (find-whatsappimagesfile "")
;; (find-whatsappvideofile "")
;; (find-dcimcamerafile "")
(find-fline "/ftp:ftp@192.168.1.2#2121:/DCIM/Camera/")
(find-fline "/ftp:ftp@192.168.1.2#2121:")
ftp@192.168.1.2#2121
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
ftp 192.168.1.2 2121
ftp
ftp
# (find-man "ftp")
cd /media/mtp/phone/Phone/DCIM/Camera/
#####
#
# Ad-hoc multi-hops
# 2024aug12
#
#####
# «ad-hoc-multi-hops» (to ".ad-hoc-multi-hops")
# «sudo-remote» (to ".sudo-remote")
# https://www.polyomica.com/weekly-emacs-tip-2-using-tramp-for-sudo-locally-and-remote/
# (find-fline "~/LOGS/2024aug11.emacs" "/ssh:example.com|sudo::")
# (find-trampnode "Quick Start Guide" "/ssh:user@host|sudo::/path/to/file")
# (find-trampnode "Ad-hoc multi-hops")
(find-file "/scp:edrx@aspire:~/")
(find-file "/ssh:edrx@aspire:~/")
(find-file "/ssh:edrx@aspire|sudo::/etc")
(find-file "/sudo:root@aspire:/etc/")
#####
#
# tramp-debug-buffer-name
# 2026sep05
#
#####
# «tramp-debug-buffer-name» (to ".tramp-debug-buffer-name")
# (find-es "emacs" "debug-on-entry")
# (find-trampnode "Traces and Profiles" "tramp-verbose")
# (find-evardescr 'tramp-verbose)
# (find-trampfile "")
# (find-trampgrep "grep --color=auto -nH --null -e '*debug ' *.el")
# (find-trampgrep "grep --color=auto -nH --null -e 'hook' tramp*.el")
# (find-trampfile "tramp-cmds.el" "(defun tramp-list-tramp-buffers ")
# (find-trampnode "")
* (setq tramp-verbose 11)
* (debug-on-entry 'tramp-debug-buffer-name)
* (find-linpfile "o")
* (cancel-debug-on-entry 'tramp-debug-buffer-name)
* (setq tramp-verbose 3)
(find-eppp (tramp-list-tramp-buffers))
#####
#
# debug-repl-email-1
# 2026sep05
#
#####
# «debug-repl-email-1» (to ".debug-repl-email-1")
# https://lists.gnu.org/archive/html/tramp-devel/2026-09/msg00003.html
# A (sort of) REPL for showing how Tramp works, and a question about it
Hi list,
I am the author of an emacs package called eev -
<https://anggtwu.net/#eev> - and I've been working on a way to explain
certain "things" using demos that can be run in REPLs. Right now the
best example of one of these "things" is SVG, and I am putting my
notes on this page:
https://anggtwu.net/2026-eepitch-svg.html
Please don't worry if it doesn't make much sense... as far as I know
eev has very few users - or at least users who have talked to me - and
many, many, many more people who have tried it and who told me that
they can't figure out what are the workflows for using it... =( =( =(
Anyway, the last 5 seconds of the video of the demo about clipPath,
https://anggtwu.net/2026-eepitch-svg.html#demo-clippath-1
https://anggtwu.net/eev-videos/2026-eepitch-svg-4.mp4
show how I can switch between a 3-window setting and a 4-window
setting, and this is what matters now.
I am trying to do something similar to that, but that would show tramp
running in debug mode, and that could - at some point - help people to
troubleshoot cases in which tramp tries to connect somewhere, but
fails.
Here is a first question. If I run this,
(setq trd-fname "/scp:edrx@linode:/home/edrx/public_html/o")
(setq trd-vec (with-parsed-tramp-file-name trd-fname nil v))
(setq trd-dbgb (tramp-debug-buffer-name trd-vec))
(setq tramp-verbose 6)
(find-file trd-fname)
that doesn't depend on anything from eev, the `find-file' at the end
opens a file on the server that hosts my home page - but it only
returns after several seconds, and after writing lots of messages
on the debug buffer whose name is in the variable `trd-dbgb', i.e,
"*debug tramp/scp edrx@linode*"...
How can I write a function that works like the `find-file' at the end
of that code but that runs asynchronously, in the sense that it starts
the mechanisms that open trd-fname in the current window, but it
returns immediately?
Cheers, thanks in advance, more soon, etc,
Eduardo Ochs...
#####
#
# debug
# 2026aug28
#
#####
# «debug» (to ".debug")
# (find-trampnode "Traces and Profiles" "tramp-debug-command-messages")
# (find-trampgrep "grep --color=auto -nH --null -e '*debug ' *.el")
# (find-trampgrep "grep --color=auto -nH --null -e '*trace ' *.el")
# (find-trampgrep "grep --color=auto -nH --null -e 'tramp-debug-buffer-name' *.el")
# (find-trampgrep "grep --color=auto -nH --null -e 'with-parsed-tramp-file-name' *.el")
# (find-trampfile "tramp-message.el" "(defun tramp-debug-buffer-name ")
# (find-trampfile "tramp-message.el" "(defmacro with-parsed-tramp-file-name")
# (find-trampfile "tramp-message.el" "*trace tramp/method user@host*")
# (find-ebuffer-links "*trace tramp/scp edrx@linode*")
# (setq tramp-verbose 6)
# (setq tramp-verbose 3)
# (find-trampfile "")
* (find-2a nil '(find-ebuffer "*tramp/scp edrx@linode*"))
* (find-2a nil '(find-ebuffer "*debug tramp/sudo root@localhost*"))
* (find-2a nil '(find-ebuffer "*debug tramp/scp edrx@linode*"))
(find-linpfile "o")
(debug-on-entry 'tramp-debug-buffer-name)
(cancel-debug-on-entry 'tramp-debug-buffer-name)
#####
#
# vc-ignore-dir-regexp
# 2026sep06
#
#####
# «vc-ignore-dir-regexp» (to ".vc-ignore-dir-regexp")
# (find-trampnode "Frequently Asked Questions" "(setq vc-ignore-dir-regexp")
# (find-trampnode "Frequently Asked Questions" "remote-file-name-inhibit-auto-save")
(find-fline "/sudo:root@localhost:/etc/")
https://lists.gnu.org/archive/html/tramp-devel/2025-04/msg00012.html
^ /ssh:example.com|sudoi:otheruser@example.com:
https://lists.gnu.org/archive/html/tramp-devel/2025-08/msg00012.html M-x debug-on-entry RET make-temp-file RET
<bpalmer> slondr: have you looked at the tramp verbose logs?
<bpalmer> e.g., if you set tramp-verbose to 6 or higher, and
possibly insert some echo statements in your shell files,
you might see at what string it hangs
https://www.gnu.org/software/tramp/tramp-emacs.html#Frequently-Asked-Questions
There is also `tramp-revert-buffer-with-sudo' (`C-x x @' by default)
which helps when you have already visited the file as normal user and
now you want to edit it.
# Local Variables:
# coding: utf-8-unix
# End: