ฉันจะเปิด ~ / Desktop ได้อย่างไรถ้าฉันคลิกที่“ Open in terminal” จาก Desktop?


8

สถานการณ์:

  1. ฉันอยู่บนเดสก์ท็อปของฉัน
  2. ฉันคลิกเมาส์ขวาแล้วเลือก "เปิดในเทอร์มินัล"
  3. ฉันจินตนาการสิ่งนี้เพื่อเปิดเทอร์มินัล~/Desktopไม่ใช่โฟลเดอร์บ้านของฉัน

ระบบ:

  • Ubuntu 16.10
  • เอกภาพ
  • หอยโข่ง

ไม่เร็วกว่านี้มากที่จะกด Ctrl-T ไปยังเทอร์มินัลใหม่แล้ว $ cd Desktop? คุณสามารถแม้กระทั่งแท็บเสร็จสมบูรณ์หลังจากเขียน Des
tomph

คำตอบ:


7

หนึ่งที่ง่ายและรวดเร็วโดยบังเอิญเนื่องจากฉันเพียงต้องการเปลี่ยนสคริปต์ที่ฉันมีอยู่แล้ว :)

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

วิธีการตั้งค่า

  1. สร้างถ้ามันยังไม่มีไดเรกทอรี ~/.local/share/nautilus/scripts
  2. คัดลอกสคริปต์ด้านล่างลงในไฟล์เปล่าบันทึกเป็นterminal_here2(ไม่มีส่วนขยาย) และทำให้สามารถเรียกใช้งานได้
  3. ออกจากระบบและกลับเข้ามาใหม่

ตอนนี้คลิกขวาที่ไฟล์ใดก็ได้บนเดสก์ท็อปของคุณเลือกScripts-> open_terminal2:

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

และหน้าต่างเทอร์มินัลจะเปิดในไดเรกทอรีของเดสก์ท็อป ("Bureaublad" ในกรณีของฉัน)

สคริปต์:

#!/usr/bin/env python3
import subprocess
import os

def replace(path):
    for c in [("%23", "#"), ("%5D", "]"), ("%5E", "^"),
              ("file://", ""), ("%20", " ")]:
        path = path.replace(c[0], c[1])
    return path

# get the current path
current = replace(os.getenv("NAUTILUS_SCRIPT_CURRENT_URI")) 
# raise the found terminal window
os.chdir(os.path.realpath(current))
subprocess.Popen("gnome-terminal")

1
คุณควรใช้urllib.parse.unquoteแทนการแทนที่อักขระที่เข้ารหัส%% ด้วยตนเอง
muru

ขอบคุณ! ไม่มีวิธีใช้รายการเมนูบริบท "เปิดในเทอร์มินัล" ที่มีอยู่แล้วหรือไม่?
orschiro

@orschiro ฉันกลัวว่ารหัสนั้นยากในหอยโข่ง เห็นได้ชัดว่าเดสก์ท็อปไม่ได้จัดเป็นหน้าต่าง "ปกติ" ในหอยโข่งแม้ว่าจะNAUTILUS_SCRIPT_CURRENT_URIแสดงไดเรกทอรีที่ถูกต้อง
Jacob Vlijm

คุณคิดว่ามันคุ้มค่าที่จะส่งคำขอคุณสมบัติหรือไม่ มันจะสอดคล้องกันว่าฟังก์ชั่นนี้จะทำงานได้ตามที่คาดไว้
orschiro

2
ไม่จำเป็นต้องทำให้กระบวนการ Python ทำงานต่อไปเพื่อรอgnome-terminalให้ยุติและยุติการทำงานของมันเอง แต่คุณสามารถโทรหาเพื่อแทนที่กระบวนการหลามกับos.execlp("gnome-terminal", "gnome-terminal") gnome-terminal
David Foerster

8

วิธีการแก้ปัญหาสคริปต์น้อย

  1. เปิด Nautiuls ในโฟลเดอร์บ้านของคุณ
  2. ในโฟลเดอร์ที่บ้านของคุณคลิกขวาที่คลิกDesktop Make linkคุณจะถูกนำเสนอพร้อมLink to Desktopไฟล์
  3. วางลิงก์บนเดสก์ท็อปของคุณ ตอนนี้เมื่อใดก็ตามที่คุณคลิกขวาที่มันและเลือกOpen in Terminalมันจะเปิด terminal ด้วยไดเรกทอรีการทำงานปัจจุบันตั้งเป็นเดสก์ทอป

นี่เป็นวิธีแก้ปัญหาที่ชาญฉลาด!
orschiro

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