ฉันจะดูรูปภาพผ่าน ssh ได้อย่างไร


23

ฉันกำลังตรวจสอบเว็บไซต์และต้องการทราบว่ามีวิธีที่ฉันสามารถดูรูปภาพผ่าน ssh แทนที่จะโหลดเว็บไซต์ทุกครั้งหรือไม่


ดังนั้นคุณสามารถเข้าถึงเซิร์ฟเวอร์และดูไดเรกทอรีอิมเมจได้หรือไม่?
Frank Thomas

ใช่ฉันตั้งค่า scritp เพื่อแจ้งเตือนฉันเมื่อมีสิ่งใหม่เพิ่มเข้ามา ตอนนี้ฉันต้องการดูและลบหรืออนุมัติผ่าน ssh
mrhobbeys

คำตอบ:


32

คุณยังไม่ได้พูดว่าระบบปฏิบัติการใดที่คุณเชื่อมต่ออยู่ หากคุณใช้ * nix ที่รันเซิร์ฟเวอร์ X คุณสามารถใช้การส่งต่อ ssh X สิ่งนี้จะช่วยให้คุณสามารถเรียกใช้แอพพลิเคชั่นกราฟิกบนเซิร์ฟเวอร์ระยะไกลและนำมาแสดงบนเครื่องโลคัล ตัวอย่างเช่น:

ssh -Y user@server
eog pictures/foo.png

สมมติว่าเซิร์ฟเวอร์ได้eogติดตั้งแล้วควรทำให้อิมเมจเปิดและแสดงบนหน้าจอของคุณ

สำหรับการอ้างอิงในอนาคตเมื่อถามคำถามในเว็บไซต์นี้เป็นความคิดที่ดีที่จะระบุระบบที่คุณใช้เพราะคำตอบที่ถูกต้องมักจะขึ้นอยู่กับมัน


ฉันอยู่บนหน้าต่างที่มีสีโป๊วและซิงหมิงวันนี้ดังนั้นฉันจะลองทำสิ่งนี้
mrhobbeys

มันใช้งานได้ดี
mrhobbeys

5

หากคุณอยู่ใน OS X โดยใช้ iTerm2 คุณสามารถทำimgcatและแสดงภาพได้จากเครื่องเทอร์มินัล

https://www.iterm2.com/documentation-images.htmlป้อนคำอธิบายรูปภาพที่นี่


ถ้าคุณอยู่บน osx ด้วย iterm 2 และคุ้นเคยsshกับเครื่องระยะไกล
Andrew Hundt

1
มันจะทำงานถ้าคุณมีสคริปต์ imgcat บนเซิร์ฟเวอร์
Dyno Fu

2
imgcatรูปแมวจะไม่เหมาะสมกว่าหรือ
CousinCocaine

เซิร์ฟเวอร์ต้องเป็น OS X หรือไม่ ฉันควรทำอย่างไรถ้าเซิร์ฟเวอร์ของฉันเป็น Ubuntu และไคลเอ็นต์ของฉันคือ Mac
Sridhar Sarnobat

ไม่มีข้อกำหนดบนเซิร์ฟเวอร์ ถ้าคุณเป็น ssh จากเทอร์มินัลเซิร์ฟเวอร์จะต้องมี imgcat โดยพื้นฐานแล้ว imgcat จะแปลงภาพให้เป็นสิ่งที่ iTerm2 เข้าใจได้
Dyno Fu

3

นี่เป็นจุดปวดที่พบบ่อยในหมู่นักวิจัยด้านการมองเห็นด้วยคอมพิวเตอร์ ฉันสร้างสคริปต์เล็ก ( https://github.com/nicodjimenez/ImgView ) python run.py -d path/to/image/dir/ซึ่งผมใช้เพื่อแสดงภาพในไดเรกทอรีบนเครื่องระยะไกลผ่านทาง จากนั้นฉันใช้ ssh tunneling เพื่อส่งต่อพอร์ตท้องถิ่นไปยังพอร์ตระยะไกลที่ฉันใช้เซิร์ฟเวอร์และจากนั้นฉันเพียงแค่ดูภาพบนเครื่องท้องถิ่นของฉันโดยชี้เว็บเบราว์เซอร์ของฉันไปยังพอร์ตท้องถิ่นโดยค่าเริ่มต้นhttp: //0.0 .0.0: 8000 / วิธีการนี้มีความยืดหยุ่นมากที่สุดสำหรับการดูภาพผ่าน ssh เพราะคุณสามารถควบคุมลักษณะที่ปรากฏของจอแสดงผล


ดูเหมือนว่า repo จะไม่ทำงาน แต่สิ่งนี้สามารถทำได้ด้วยเว็บเซิร์ฟเวอร์ในpython -m SimpleHTTPServerตัว นอกจากนี้หากเครื่องและเซิร์ฟเวอร์ของคุณอยู่ใน VPN ก็ไม่จำเป็นต้องส่งต่อ
crizCraig

กับงูหลามที่ python -m http.server3: จะให้บริการไฟล์อัลในโฟลเดอร์ปัจจุบัน
fabian789

2

tiv (หรือเครื่องมือที่คล้ายกัน) ควรทำในกรณีส่วนใหญ่ สิ่งนี้ไม่จำเป็นต้องมีเทอร์มินัลอีมูเลเตอร์พิเศษเพราะมันพิมพ์รหัส RGB ANSI เท่านั้น

ป้อนคำอธิบายรูปภาพที่นี่

ยังรองรับไวลด์การ์ด


1

โดยทั่วไปคุณสามารถถ่ายโอนข้อมูลสื่อเช่นรูปภาพไปยังเดสก์ท็อปท้องถิ่นของคุณหรือเทอร์มินัล ssh เองหากสามารถแสดงสื่อ:

  • การส่งต่อ XWindow: นำแอปพลิเคชัน imageviewer เดสก์ท็อปใด ๆ จากโฮสต์ระยะไกลไปยังจอแสดงผลของคุณ
  • sftp: ไคลเอ็นต์ sftp ใด ๆ ถ่ายโอนสื่อไปยังเดสก์ท็อปของคุณซึ่งคุณอาจเปิดใช้โปรแกรมดูรูปภาพ
  • ระบบไฟล์ ssh: เล็กน้อยเช่น sftp แต่ระบบไฟล์ระยะไกลได้รับการบูรณาการในพื้นที่อย่างราบรื่นเพื่อให้ผู้ดูภาพในพื้นที่อาจเปิดตัว
  • หรือ webbased: เทอร์มินัลนี้ (เหมือนกับคนอื่น ๆ ) สามารถแสดงข้อมูลภาพได้ (ข้อมูลภาพคือ "cat" ed!)

http://liftoffsoftware.com/Products/GateOne ป้อนคำอธิบายรูปภาพที่นี่


1

บน Linux คุณสามารถเปลี่ยนเอาท์พุต ssh ด้วยความช่วยเหลือของโปรแกรมดูรูปภาพที่สามารถอ่านได้จากอินพุตมาตรฐาน (ดูมีโปรแกรมดูรูปภาพที่ถ่ายภาพใน STDIN หรือไม่ ) และ Unix Pipe |ฉันได้รับ:

ssh remote_host "cat /remote/path/to/image" | display

PS: สิ่งนี้ต้องการโปรแกรมการแสดงผลของ ImageMagick บนโลคัลโฮสต์ คำสั่งระหว่างเครื่องหมายคำพูดจะถูกดำเนินการโดย ssh บนโฮสต์ระยะไกล หรือสำหรับโปรแกรมดูรูปภาพอื่น ๆ (ที่นี่โปรแกรมดูรูปภาพ Gnome eog):

FIFO=$(mktemp -u);
ssh remote_host "cat /remote/path/to/image" > "$FIFO";
eog  "$FIFO" && rm "$FIFO";

0

หากคุณมีเส้นทางของรูปภาพที่คุณสามารถชอบ Frank Thomas กล่าวคุณสามารถดาวน์โหลดและเปิดในโปรแกรมดูรูปภาพผ่าน scp หรือ sftp หากคุณเข้าถึง หากคุณใช้งาน linux คุณก็สามารถลองดูรูปภาพได้ แต่แน่นอนว่าคุณไม่สามารถเปิดมันได้ในเชลล์ดังนั้นการดาวน์โหลดมันเป็นตัวเลือกที่ดีที่สุดถ้าคุณกำลังพูดถึง shell อย่างหมดจด


สิ่งนี้จะไม่ทำงานได้ดีเพียงเพราะ ณ จุดนั้นมันจะง่ายกว่าที่จะเปิดเบราว์เซอร์เพื่อดูพวกเขา
mrhobbeys

มันขึ้นอยู่กับการตั้งค่าเพราะถ้าชื่อรูปภาพมีเส้นทางและการตั้งชื่อที่คล้ายกันก็สามารถเขียนสคริปต์และเปลี่ยนเป็น cronjob ได้
MDMoore313

0

คุณสามารถใช้sshfsหากคุณอยู่ภายใต้ Linux


หรือใช้ WinSCP หากบน Windows
Frank Thomas

1
@ Frankthomas: นั่นไม่ใช่สิ่งที่ฉันมีอยู่ในใจ ด้วยsshfsคุณสามารถเมานต์ระบบไฟล์ระยะไกลและมันจะทำงานเหมือนว่าไฟล์อยู่ในคอมพิวเตอร์ของคุณ ไม่จำเป็นต้องดาวน์โหลดอะไรเลย ...
carlspring

0

ฉันใช้thunar(ตัวจัดการไฟล์ใช้งานได้กับnautilusคนอื่น ๆ ด้วย) เพื่อทำสิ่งนี้

หากคุณป้อนที่อยู่:

sftp://user@ip:port/

มันจะเชื่อมต่อผ่านssh( ทางเลือกขอรหัสผ่าน / วลีรหัสผ่าน) และมันจะแสดงระบบไฟล์ทางสายตาซึ่งคุณสามารถเปิดภาพด้วยมุมมอง (เช่นgpicviewหรือeogแต่ฉันพบว่าeogช้าในกรณีนี้)


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.