Score:3

กระโดดด้วยแป้นพิมพ์ลัดไปยังโฟลเดอร์เฉพาะใน Nautilus

ธง cn

การกด Alt+บ้าน ใน Nautilus พาฉันไปที่ /โฮเมอร์/user. สะดวกมาก!

ฉันต้องการตั้งค่าแป้นพิมพ์ลัดแบบกำหนดเองสำหรับโฟลเดอร์ตามอำเภอใจในระบบของฉัน เนื่องจากนอกจากนี้ /บ้าน/ผู้ใช้ มีโฟลเดอร์อื่นๆ อีกสองสามโฟลเดอร์ที่ฉันต้องเข้าถึงบ่อยๆ เมื่อใช้งานโฟลเดอร์ต่างๆ ในระบบของฉัน (เช่น /media/user/my_picturesถ้าฉันติดตั้งฮาร์ดไดรฟ์ภายนอกที่มีรูปภาพและวิดีโอที่ฉันถ่ายไว้จำนวนมาก)

ฉันต้องการ การผสมผสานทางลัดเดียว ที่จะพาฉันไปที่นั่น นั่นหมายถึงไม่มีวิธีแก้ปัญหาเล่นซอ เช่น บุ๊กมาร์กโฟลเดอร์แล้วป้อนด้วย F6 แท็บบุ๊กมาร์ก จากนั้นนำทางไปยังโฟลเดอร์ที่ต้องการ จะต้องทำในจังหวะเดียวเช่น Alt+บ้าน พาฉันไปที่โฟลเดอร์บ้านของฉัน

vanadium avatar
cn flag
ฉันอาจคิดอะไรบางอย่างได้หากพบคำตอบสำหรับคำถามนี้: https://askubuntu.com/q/1387251/558158
vanadium avatar
cn flag
ฉันกลัวว่าอีก 10 ปีต่อมา การแฮ็กโดยใช้การจำลองแป้นพิมพ์ (xdotool) จะเป็นทางเลือกเดียว: ดู https://askubuntu.com/a/123801/558158 Nautilus ยังคงมีข้อ จำกัด ที่น่าขันในตัวเลือกบรรทัดคำสั่ง: คุณไม่สามารถเปิดแท็บใหม่จากบรรทัดคำสั่งได้
l7ll7 avatar
cn flag
@vanadium omg มันบ้าในสิ่งที่ซอฟต์แวร์ที่ใช้กันอย่างแพร่หลายในสถานะที่ไม่ดีสามารถเป็นได้ xdotool (resp. xclip เนื่องจากคำตอบที่คุณเชื่อมโยงระบุว่ามีการอัปเดตแล้ว) มีแนวโน้มที่ดี ตราบใดที่โซลูชันนั้นใช้งานได้ ก็ไม่จำเป็นต้องหรูหรา คุณคิดว่าคุณสามารถโพสต์วิธีแก้ปัญหาโดยใช้ xdotool ได้หรือไม่? ฉันก็สามารถยอมรับมันได้ คำตอบที่คุณเชื่อมโยงดูค่อนข้างเป็นเทคนิค ฉันไม่แน่ใจว่าจะปรับให้เข้ากับสถานการณ์ของฉันได้ไหม
l7ll7 avatar
cn flag
แนวคิดอื่น: `Alt`+`Home` ควรฮาร์ดโค้ดในซอร์สโค้ดที่ใดที่หนึ่งหรือไม่ บางทีใครสามารถเพิ่มอีกหนึ่งบรรทัดที่นั่นแล้วรวบรวม Nautilus จากแหล่งที่มา (แม้ว่าอย่างน้อยสำหรับปัญหาที่ OP มีในคำตอบที่คุณเชื่อมโยง คำตอบหนึ่งระบุว่าปัญหาของเขาไม่สามารถแก้ไขได้ด้วยวิธีนี้ ดังนั้นฉันจึงไม่แน่ใจเกี่ยวกับปัญหาของฉันเช่นกัน)
vanadium avatar
cn flag
คำตอบอื่นนั้นก็คือแฮ็คโดยใช้ `xdotool` ใช่ ฉันสามารถโพสต์บางสิ่งด้วย xdotool ที่ใช้งานได้
Score:1
ธง cn

ใน Nautilus เป็นไปไม่ได้ที่จะกำหนดปุ่มทางลัดเพื่อเปิดบุ๊กมาร์กหรือแสดงเนื้อหาของโฟลเดอร์เฉพาะในหน้าต่างปัจจุบัน อินเตอร์เฟสบรรทัดคำสั่งของ nautilus นั้นมีข้อจำกัดอย่างมากเช่นกัน การสร้างปุ่มลัดที่เปิดโฟลเดอร์ในหน้าต่างใหม่นั้นง่ายพอ แต่การเปลี่ยนโฟลเดอร์ที่แสดงในหน้าต่างปัจจุบันโดยใช้ปุ่มทางลัดนั้นไม่ชัดเจน

อาจเป็นไปได้ว่า nautilus-python API เปิดเผยฟังก์ชันการทำงานที่จำเป็น แต่สิ่งนี้ต้องการทักษะการเขียนโปรแกรมและการเข้าถึงเอกสารประกอบที่ซ่อนเร้นอยู่ เราหวังว่าคำตอบดังกล่าวจะตามมา

ต่อไปนี้เป็นเพียงแฮ็ค การป้อนแป้นพิมพ์เพื่อเปลี่ยนเป็นโฟลเดอร์อื่นโดยใช้แถบพาธนั้นถูกสร้างขึ้นโดยใช้ xdotool. สิ่งนี้สามารถเริ่มต้นได้จากภายใน หอยโข่ง ใช้สคริปต์หอยโข่ง มีคุณลักษณะที่ไม่ชัดเจนของหอยโข่งตรงที่ใคร ๆ ก็สามารถกำหนดทางลัดเพื่อเรียกใช้สคริปต์ได้ โดยรวมแล้วสิ่งนี้จะให้ผลตามที่เราต้องการ

แฮ็คโดยใช้ xdotool

  1. สร้างสคริปต์หอยโข่ง:

    gedit ~/.local/share/nautilus/scripts/_1 เอกสาร

  2. วางรหัสต่อไปนี้สำหรับสคริปต์:

รหัส

#!/bin/bash
DESTINATION=~/เอกสาร
OLDSELECT=$(mktemp)
echo "$DESTINATION" | xsel -bi
xdotool sleep 0.2 คีย์ Control+l Control+v Return
xsel -bi < "$OLDSELECT" ; rm "$OLDSELECT"

/รหัส

  1. กำหนดคีย์ลัดสำหรับสคริปต์:

    gedit ~/.config/nautilus/scripts-accels

  2. เพิ่มบรรทัดที่ดูเหมือน

    <การควบคุม>0 _1 เอกสาร

สิ่งนี้ใช้ปุ่มลัด Ctrl+0 ที่จะเปลี่ยนมุมมองปัจจุบันไปยังโฟลเดอร์ที่ต้องการ ~/เอกสาร ในตัวอย่างนี้ มันจำลองการเปิดแถบเส้นทาง (Ctrl+แอลจากนั้นจึงวางเส้นทางของโฟลเดอร์ จากนั้นกดปุ่ม เข้า.

สคริปต์บันทึกข้อความที่อาจอยู่ในคลิปบอร์ด จัดเก็บชื่อพาธที่ต้องการในคลิปบอร์ด จากนั้นใช้ xdotool เพื่อเปลี่ยนโฟลเดอร์โดยใช้แถบพาธ ตามปกติ จะเกิดความล่าช้าเล็กน้อย (นอน 0.2) จำเป็นเพื่อทำให้สคริปต์มีความน่าเชื่อถือมากขึ้น

มันเป็นแฮ็ค มีข้อแม้หลายประการ:

ข้อแม้ 1: จะไม่ทำงานบน Wayland

xdotool และ เอ็กซ์เซล ไม่ทำงานบน Wayland ซึ่งเป็นเซิร์ฟเวอร์แสดงผลเริ่มต้นที่เริ่มต้นจาก Ubuntu 21.10 เปลี่ยนเป็นเซสชัน Xorg หรือปรับสคริปต์ เครื่องมือเช่น ydotool และ wl-คลิปบอร์ด สามารถจำลองการป้อนข้อมูลด้วยแป้นพิมพ์และจัดการคลิปบอร์ดบน Wayland

คำเตือน 2: สคริปต์-accels แตกใน Nautilus บางเวอร์ชัน

~/.config/nautilus/scripts-accelsไฟล์คอนฟิกูเรชันที่อนุญาตให้กำหนดคีย์ลัดให้กับสคริปต์ ใช้งานไม่ได้บน Ubuntu 20.04 มันใช้งานได้ก่อนหน้านี้และโชคดีที่ใช้งานได้อีกครั้งบนไฟล์ 40.2 (Ubuntu 21.10)

วิธีแก้ปัญหา

อาจกำหนดปุ่มทางลัดสำหรับเดสก์ท็อปแทน และในสคริปต์ ให้ตรวจสอบว่าหน้าต่างที่ใช้งานอยู่คือ Nautilus หรือไม่ ก่อนที่จะดำเนินการส่วนที่เหลือ (wmctrl). ข้อเสียเปรียบ: ไม่สามารถใช้คีย์เหล่านี้ในแอปพลิเคชัน/บริบทอื่นสำหรับสิ่งอื่นได้อีกต่อไป

ข้อแม้ 3: สามารถกำหนดคีย์ได้จำกัด

กลไก ~/.config/nautilus/scripts-accels ไม่อนุญาตให้แทนที่คีย์ที่มีอยู่ ตัวอย่างเช่นคีย์เช่น <การควบคุม>1 และ <การควบคุม>2 ถูกใช้เพื่อเปลี่ยนมุมมองหอยโข่งแล้ว <Alt># คีย์ถูกใช้เพื่อเปลี่ยนแท็บแล้ว ดังนั้นทดลองว่าอันไหนใช้ได้ผลและอันไหนไม่ได้ คีย์ถูกกำหนดดังนี้:

; ตัวอย่างคีย์ลัด
; ตัวปรับแต่ง: <Control> <Alt> <Shift>
; F4 เปิดเทอร์มินัลที่นี่
; <Alt>x ลบส่วนขยาย
l7ll7 avatar
cn flag
"ต่อไปนี้เป็นเพียงแฮ็คเท่านั้น" แต่แฮ็คที่ดีจริงๆ! +1 ขอบคุณมากสำหรับการโพสต์คำตอบอย่างละเอียด! คุณจะให้คำตอบโดยละเอียดสำหรับ Ubuntu รุ่นต่างๆ ได้อย่างไร คุณมีฟาร์มเดสก์ท็อปทั้งหมดทำงานอยู่ที่ใดที่หนึ่งหรือไม่ ;) (อันที่จริง ฉันมี Ubuntu 20.04 ดังนั้น การรู้ว่าฉันต้องทดลองกับ `wmctrl` จึงมีประโยชน์)
l7ll7 avatar
cn flag
ก่อนที่ฉันจะยอมรับ โปรดแจ้งให้เราทราบ เนื่องจาก `Alt`+`Home` ข้ามไปที่โฟลเดอร์เริ่มต้น ฉันจึงต้องการคีย์ผสมที่คล้ายกัน เช่น `Alt`+ `End` เพื่อข้ามไปที่โฟลเดอร์ของฉัน โฟลเดอร์ที่ต้องการ คุณรู้หรือไม่ว่าฉันจะป้อนคีย์ผสมนี้ในไฟล์ข้อความได้อย่างไร
vanadium avatar
cn flag
ไม่ ฉันไม่รู้ และฉันไม่รู้เอกสารใดๆ ยกเว้นบรรทัดที่ฉันให้ไว้ในคำตอบ

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา