ผลลัพธ์ของ ชื่อ -a
: Linux negosaki 5.11.0-46-lowlatency #51~20.04.1-Ubuntu SMP PREEMPT วันศุกร์ที่ 7 มกราคม 08:04:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
ฉันมีสคริปต์ต่อไปนี้ใน ~/bin/flameshot-ocr
ซึ่งอยู่ในเส้นทางของฉัน:
#!/usr/bin/env ทุบตี
ฟังก์ชัน ocr() {
ชื่อไฟล์=$1
lang=$2
outfile="/tmp/tesseract-เอาท์พุท"
เทสเซอร์แรค "$1" $outfile -l "$2"
cat "$outfile".txt
}
save_path="/tmp/flameshot-screenshot.png"
หรั่ง=$1
เฟลมช็อต gui -r > "$save_path"
เอาต์พุต=$(ocr "$save_path" "$lang")
เสียงสะท้อน "เอาต์พุต $"
echo "เอาต์พุต $" | xclip - คลิปบอร์ดการเลือก
ค้นหาโยมิจัง
ทางออก 0
เดอะ ค้นหาโยมิจัง
คำสั่งเป็นเพียงคำสั่งอื่นที่ฉันมีในเส้นทางของฉันซึ่งใช้ xdotool
เพื่อนำโปรแกรมที่ฉันใช้ในการโฟกัส
โดยพื้นฐานแล้วสคริปต์จะใช้ เปลวไฟ
เพื่อขอให้ฉันครอบตัดภาพหน้าจอ จากนั้นบันทึกภาพหน้าจอนั้นไปที่ /tmp/flameshot-screenshot.png
จากนั้นใช้ tesseract กับตัวเลือกภาษาที่ให้มาเพื่อทำการ ocr บนรูปภาพ และบันทึกผลลัพธ์ใน /tmp/tesseract-output.txt
. จากนั้น ฉันใช้ xclip เพื่อคัดลอกผลลัพธ์นี้ไปยังคลิปบอร์ดระบบของฉัน ทั้งหมดนี้ใช้งานได้เมื่อฉันรันสคริปต์จากเทอร์มินัล เช่น เปลวไฟ-ocr jpn_vert
. อย่างไรก็ตามเมื่อฉันเรียกใช้ด้วยแป้นพิมพ์ลัด (คำสั่ง เปลวไฟ-ocr jpn_vert
สคริปต์ทำงานเพียงบางส่วน: ฉันได้รับแจ้งให้จับภาพหน้าจอ ภาพหน้าจอได้รับการบันทึก มีการเรียกใช้ tesseract แต่ผลลัพธ์ไม่ได้รับการคัดลอกไปยังคลิปบอร์ดของฉัน (xclip ล้มเหลว) และของฉัน ค้นหาโยมิจัง
สคริปต์ไม่ทำงาน
สำหรับการอ้างอิงนี่คือของฉัน ค้นหาโยมิจัง
สคริปต์:
#!/usr/bin/env ทุบตี
ถ้า [[ $(xdotool ค้นหา yomichan) ]]; แล้ว
xdotool ค้นหาหน้าต่าง yomichan เปิดใช้งาน
อื่น
/opt/google/chrome/google-chrome --profile-directory=Default --app-id=dmlhnpobnomcmidkoijomppdlpfkedmi
ไฟ
ฉันได้ตรวจสอบแล้วว่าคำสั่งง่ายๆเช่น echo "สวัสดี | xclip -คลิปบอร์ดการเลือก"
ใช้งานได้เมื่อฉันเรียกใช้จากเทอร์มินัล แต่ไม่ใช่จากแป้นพิมพ์ลัด และฉันได้ลองแล้ว
sh -c 'echo "สวัสดี" | xclip - คลิปบอร์ดการเลือก '
ในแป้นพิมพ์ลัด ซึ่งใช้งานได้ แต่แป้นพิมพ์ลัดเช่น sh -c 'flameshot-ocr jpn_vert'
แค่ทำสิ่งเดียวกันกับตอนที่ฉันไม่ได้ห่อมัน sh -c
.
ไม่มีใครรู้วิธีการที่จะแก้ไขปัญหานี้?