ดูรายการไอคอนที่เป็นเอกลักษณ์ทั้งหมดที่มีพร้อมชื่อและรูปย่อ


15

ฉันต้องการดูไอคอนที่ติดตั้งและมีอยู่ในระบบของฉันและชื่อใดที่ฉันต้องอ้างถึง

ฉันจะได้รับรายชื่อไอคอนที่ไม่ซ้ำใครทั้งหมดที่จัดรูปแบบได้อย่างดี (ไม่แสดงความละเอียดหลายอย่างแยกต่างหาก) ที่ประกอบด้วยชื่อไอคอนรูปขนาดย่อตัวอย่างสถานที่และบางทีถ้าเป็นไปได้ที่มาจาก (เช่นชุดไอคอนชุดไอคอน)

ระบบ: Ubuntu 15.10 Wily Werewolf 64 bit
Desktop: Unity


เกี่ยวกับส่วน "การค้นหาจากแพ็กเกจ": "dpkg-query -S / bin / bash" แสดงชื่อแพ็กเกจของ bash ที่ปฏิบัติการได้ในไดเร็กทอรี / bin (เป็นตัวอย่างการทำงาน) ด้วย "/ bin" เท่านั้นเป็นอาร์กิวเมนต์มันจะส่งออกแพคเกจที่ติดตั้งทั้งหมดสำหรับไฟล์ทั้งหมดในไดเรกทอรี / bin
neoc

2
find /usr/share/icons/ -iname '*.png' -or -iname '*.svg' -printf '%h %f %p\n' | sed -r 's;^/usr/share/icons/([^/]*)/[^ ]* ;\1 ;' | sort -u -k1,2 | column -tครอบคลุมส่วนใหญ่ (ยกเว้นส่วนภาพย่อ) ฉันจะบอกว่า ฉันไม่แน่ใจว่าคุณคาดหวังที่จะเห็นรูปขนาดย่อในรายการ
muru

@muru ในหน้าต่าง GUI? ฉันไม่ได้บอกว่ามันควรจะเป็นทางออกบรรทัดคำสั่ง ...
ผู้บัญชาการ Byte

@ ByteCommander คุณทำไม่ได้ แต่คุณไม่ได้พูด GUI ประเภทใดเช่นกัน คุณคาดหวังให้เราเขียนโปรแกรม GUI สำหรับคุณหรือไม่?
muru

@muru ไม่ แต่ฉันคิดว่าบางคนอาจรู้จักเครื่องมือที่มีอยู่แล้วสำหรับสิ่งนี้ ฉันรู้ว่าฉันใช้บางอย่างเช่นนั้นครั้งหนึ่งมันอาจถูกสร้างขึ้นในฟังก์ชั่น XFCE บางทีอาจจะเลือกไอคอนสำหรับปืนกลที่นั่น ...
ผู้บัญชาการ Byte

คำตอบ:


14

gtk3-icon-browserเป็นแอปพลิเคชั่นกราฟิกเพื่อแสดงไอคอนที่มีธีม

จนถึงวันนี้มันยังอยู่ระหว่างการพัฒนาและมีให้ในgtk-3-examplesแพ็คเกจสำหรับ Vivid และรุ่นใหม่กว่า การพัฒนาของมันสามารถตรวจสอบกลับไปโพสต์บล็อกนี้ลงวันที่ 2014

กำลังเรียกดูไอคอน Xfce dark ระดับประถม

gtk3-icon-browser ปกติบน Xubuntu 15.04

gtk3-icon-browser Symbolic บน Xubuntu 15.04

ตรวจสอบด่วน

  • รายการที่ไม่ซ้ำกันในรูปแบบไอคอนทั้งหมด: ใช่1
  • มีชื่อไอคอน: ใช่
  • ดูตัวอย่างภาพย่อ: ใช่
  • ตำแหน่งของไอคอน: หมายเลข2
  • กำเนิดชุดไอคอน: ใช่3

1เครื่องมือนี้จะแสดงเป็นมุมมองไอคอนตามค่าเริ่มต้น (ไม่มีวิธีเปลี่ยนเป็นมุมมองรายการ) ดับเบิลคลิกที่แต่ละไอคอนจะแสดงความละเอียดทั้งหมดที่มีสำหรับไอคอนนั้น

gtk3-icon-browser ไอคอนสัญลักษณ์ดับเบิลคลิก

2เครื่องมือนี้มีลักษณะส่วนใหญ่มีแนวโน้มเข้าสู่/usr/share/iconsไดเรกทอรี (ไม่ต้องกล่าวถึงสถานที่สำหรับไอคอนแต่ละคน) และดึงข้อมูลเพิ่มเติมตามสเปคที่ไอคอนการตั้งชื่อ

3เครื่องมือนี้จะแสดงไอคอนสำหรับชุดรูปแบบปัจจุบันเท่านั้น หากต้องการแสดงไอคอนสำหรับชุดรูปแบบอื่นให้เปลี่ยนลักษณะที่ปรากฏจากชุดรูปแบบปัจจุบันเป็นชุดรูปแบบอื่น

เรียกดูไอคอนมนุษยชาติ - มืด (พร้อมกล่องโต้ตอบป๊อปอัป)

gtk3-icon-browser ไอคอน Humanity-dark

ความต้องการ

  • GTK + 3.13.4 หรือใหม่กว่า
  • ติดตั้งgtk-3-examplesใน 15.04 (สดใส) หรือรีลีสที่ใหม่กว่า

ติดตั้งอย่างไร

sudo apt-get install gtk-3-examples

วิธีการวิ่ง

gtk3-icon-browser

ผ่านการทดสอบการทำงานกับ Xubuntu 15.04 โดยใช้ GTK + 3.14.13 (เวอร์ชั่นล่าสุดจนถึงวันที่ตอบนี้)

แหล่งข้อมูลที่เกี่ยวข้อง

  1. ซอร์สโค้ดของ gtk / demos at masterสำหรับ GNOME / gtk บน GitHub

  2. เครื่องมือเบราว์เซอร์ไอคอนใหม่สำหรับนักพัฒนา GTK + ในการพัฒนาบน Fedora Magazine

  3. พูดถึงภาพหน้าจอสั้น ๆ ในคำตอบนี้ใน Ask Ubuntu


โซลูชันนี้เกือบสมบูรณ์แบบ มันจะเป็นอย่างไรหากมันแสดงไอคอนจากชุดรูปแบบอื่น ๆ ที่ไม่ได้จัดทำโดยชุดรูปแบบปัจจุบันเช่นกัน
ผู้บัญชาการ Byte

@ ByteCommander บางคนควรบอกให้ AB ยกเลิกการลบคำตอบของพวกเขาซึ่งแนะนำโปรแกรมนี้อย่างแน่นอน
muru

3

ดีเอสบางคนแสดงสิ่งนี้เมื่อคุณพยายามที่จะเปลี่ยนไอคอนของบางสิ่ง แต่มันค่อนข้างง่ายที่จะทำด้วยตัวเอง เพียงค้นหาไอคอนทั้งหมดทำการเชื่อมโยงไปยังพวกเขาในบางไดเรกทอรีและเรียกดูไดเรกทอรี ไอคอนของความละเอียดที่แตกต่างกันจะมีชื่อเดียวกันสิ่งที่เปลี่ยนแปลงคือเส้นทาง ตัวอย่างเช่น:

$ find /usr/share/icons/ -name '*emacs.*' 
/usr/share/icons/hicolor/16x16/apps/emacs.png
/usr/share/icons/hicolor/48x48/apps/emacs.png
/usr/share/icons/hicolor/scalable/apps/emacs.svg
/usr/share/icons/hicolor/128x128/apps/emacs.png
/usr/share/icons/hicolor/32x32/apps/emacs.png
/usr/share/icons/hicolor/24x24/apps/emacs.png
/usr/share/icons/Mint-X/apps/96/emacs.svg
/usr/share/icons/Mint-X/apps/16/emacs.png
/usr/share/icons/Mint-X/apps/24/emacs.png
/usr/share/icons/Mint-X/apps/48/emacs.png
/usr/share/icons/Mint-X/apps/32/emacs.png
/usr/share/icons/Mint-X/apps/22/emacs.png

/ParentDir/ThemeName/CLass/Resolution/IconNameขณะที่คุณสามารถดูด้านบนรูปแบบทั่วไปคือ ดังนั้นเนื่องจากชื่อของไอคอนเหมือนกันเราสามารถหลีกเลี่ยงการซ้ำซ้อนได้อย่างง่ายดายโดยให้แต่ละลิงค์ที่สร้างขึ้นเขียนทับลิงค์ใด ๆ ที่มีอยู่ในชื่อเดียวกัน อย่างไรก็ตามเราต้องการจี๊ปไอคอนจากชุดรูปแบบที่แตกต่างกันดังนั้นต้องมีการเขียนสคริปต์เพิ่มขึ้นเล็กน้อย:

#!/usr/bin/env bash

## Create the target directory
mkdir -p ~/foo
## Iterate over all files/dirs in the target locations
for i in ~/.icons/* /usr/share/icons/* /usr/share/pixmaps/*; do 
    ## find all icon files in this directory. If the current $i
    ## is not a directory, find will just print its path directly.
    find "$i" -name '*xpm' -o -name '*.svg' -o -name '*png' | 
        ## Iterate over find's results
        while read ico; do 
            ## Make the link. ${var##*/} will print the
            ## basename of $var, without the path. Here, I use
            ## it both to get the theme name (${i##*/}) and the
            ## icon's name (${ico##*/}).         
            ln -sf "$ico" "${i##*/}"_"${ico##*/}"
        done
done

สคริปต์ด้านบนจะสร้างไดเรกทอรี~/fooซึ่งจะมีลิงค์ไปยังไฟล์ไอคอนที่ไม่ซ้ำกันของคุณ -fตัวเลือกที่จะlnบอกว่ามันจะเขียนทับไฟล์ที่มีอยู่ที่มีชื่อเดียวกันและเนื่องจากเรากำลังใช้ชื่อธีมในชื่อการเชื่อมโยงที่ไม่ควรมีการซ้ำกัน ตัวอย่างเช่นเมื่อได้รับemacs.pngไอคอนที่แสดงด้านบนมันจะสร้าง:

hicolor_emacs.png -> /usr/share/icons/hicolor/48x48/apps/emacs.png
Mint-X_emacs.png -> /usr/share/icons/Mint-X/apps/22/emacs.png

ตอนนี้คุณสามารถเรียกดู~/fooและดู:

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

จากนั้นเพื่อรับแพ็กเกจซอร์สคุณสามารถรัน:

for i in ~/foo/*; do dpkg -S $(readlink -f "$i"); done

อย่างไรก็ตามสิ่งนี้จะเชื่อมโยงรูปภาพของความละเอียดที่แตกต่างกันทั้งหมดใช่ไหม ฉันสามารถกรองรายการที่ซ้ำกันในขนาดต่าง ๆ และแสดงรายการที่ใหญ่ที่สุดได้หรือไม่
ผู้บัญชาการ Byte

@ ByteCommander ไม่มันจะไม่ -fตัวเลือกที่ทำให้lnการเชื่อมโยงที่มีอยู่ทับเท่านั้นดังนั้นไอคอนหนึ่งที่มีชื่อเดียวกันจะแสดง อย่างไรก็ตามฉันเพิ่งรู้ว่าในขณะที่การเลียนแบบจะไม่เป็นปัญหาคุณจะพลาดมากเนื่องจากgedit.pngไอคอนทั้งหมดจะถูกเขียนทับโดยล่าสุดที่พบ นั่นคือสิ่งที่ฉันต้องการจัดการกับความละเอียด แต่มันไม่ได้จัดการกับชุดรูปแบบที่แตกต่างกัน: ไอคอนของชุดรูปแบบเดียวเท่านั้นที่จะแสดง ฉันพยายามที่จะแก้ไข
terdon

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