Những hình thu nhỏ bổ sung nào có sẵn và làm cách nào để cài đặt chúng?


9

Câu hỏi :

Trình quản lý tệp của Ubuntu Nautilus, đi kèm với sự hỗ trợ rộng rãi cho việc xem trước tệp. Những hình thu nhỏ này được xử lý bởi các chương trình trợ giúp được gọi là hình thu nhỏ.

Số lượng hình thu nhỏ được cài đặt sẵn với Ubuntu bị giới hạn và do đó một số loại tệp kỳ lạ hơn không được hiển thị theo mặc định.

Tôi có thể cài đặt thêm hình thu nhỏ nào để kích hoạt xem trước trong những trường hợp này?


Hỏi & Đáp liên quan :

Làm cách nào tôi có thể hướng dẫn Nautilus tạo trước hình thu nhỏ?


Lưu ý :

Hãy đóng góp vào danh sách này bằng cách chỉnh sửa câu trả lời wiki cộng đồng. Nếu bạn làm như vậy, vui lòng làm theo các hướng dẫn trong cuộc thảo luận Meta này và sử dụng mẫu có sẵn để giữ câu trả lời nhất quán.

Câu trả lời:


11

Hướng dẫn cài đặt chung


Hình thu nhỏ trong kho và PPA

Một số hình thu nhỏ được đóng gói sẵn và có thể dễ dàng cài đặt từ trung tâm phần mềm hoặc dòng lệnh. Những hình thu nhỏ này không yêu cầu bất kỳ cấu hình bổ sung nào và sẽ hoạt động ngay sau khi khởi động lại nautilus. Bạn có thể làm như vậy với:

nautilus -q 

Vui lòng xem xét việc đọc các Hỏi & Đáp này trước khi cài đặt bất cứ thứ gì từ PPA:

PPA là gì và làm thế nào để tôi sử dụng chúng?

PPA có an toàn để thêm vào hệ thống của tôi không và một số "cờ đỏ" cần chú ý là gì?

Tập lệnh thu nhỏ tùy chỉnh trên Ubuntu 11.04 trở lên

Các hình thu nhỏ tùy chỉnh không có sẵn trong kho phải được cài đặt thủ công. Đây là các bước bạn sẽ phải thực hiện để cài đặt chúng:

Kiểm tra xem tập lệnh có bất kỳ phụ thuộc được liệt kê. Nếu vậy, cài đặt chúng đầu tiên.

Tải xuống tập lệnh và làm cho nó có thể thực thi được bằng chmod a+x filethumbnailerhoặc thông qua Nautilus

Chỉ định một thư mục trong hệ thống tệp của bạn cho tất cả các hình thu nhỏ trong tương lai và di chuyển tập lệnh đến nó, ví dụ:

mkdir $HOME/.scripts/thumbnailers && mv filethumbnailer $HOME/.scripts/thumbnailers

Tiếp theo, bạn sẽ phải đăng ký tập lệnh của mình với Nautilus . Để làm như vậy tạo một mục thu nhỏ trong /usr/share/thumbnailers. Mục nhập phải tuân theo sơ đồ đặt tên foo.thumbnailer, trong đó foobiểu hiện của sự lựa chọn của bạn (ở đây file):

gksudo gedit /usr/share/thumbnailers/file.thumbnailer

Các thông số kỹ thuật của công cụ thu nhỏ tuân theo sơ đồ này:

[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/file.thumbnailer %i %o %s
MimeType=application/file;

Các Execđiểm nhập cảnh vào kịch bản Thumbnailer của bạn trong khi MimeTypelĩnh vực chỉ định các kiểu MIME liên quan. Các biến có thể là:

%i Input file path
%u Input file URI
%o Output file path
%s Thumbnail size (vertical)

Các thông số kỹ thuật và các biến sẽ thay đổi theo từng tập lệnh. Chỉ cần sao chép và dán nội dung của hộp văn bản tương ứng vào tệp và lưu nó.

Các hình thu nhỏ nên được bật và chạy sau khi khởi động lại nautilus ( nautilus -q).

Tập lệnh thu nhỏ tùy chỉnh trên Ubuntu 11.04 trở xuống

Các phiên bản trước của Ubuntu dựa vào GConf cho các hiệp hội thu nhỏ. Xem ở đây để biết thêm thông tin.


Nguồn :

https://live.gnome.org/ThumbnailerSpec

https://ormszilla.redhat.com/show_orms.cgi?id=636819#c29

https://bugs.launchpad.net/ubfox/+source/gnome-exe-thumbnailer/+orms/752578

http://ubuntuforums.org/showthread.php?t=1881360



Hình thu nhỏ theo loại tệp


Tệp CHM

Tổng quat

Sự miêu tả : Với tập lệnh này, bạn sẽ nhận được hình thu nhỏ của các tệp chm của mình trong trình quản lý tệp nautilus. Kịch bản sử dụng hình ảnh lớn nhất từ ​​trang chủ của tệp chm để tạo hình thu nhỏ, thông thường đây sẽ là hình ảnh của trang bìa.

Người tạo : monraaf ( http://ubuntuforums.org/showthread.php?t=1159569 )

Phụ thuộc :sudo apt-get install python-beautifulsoup python-chm imagemagick

Mục thu nhỏ

[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/chmthumbnailer %i %o %s
MimeType=application/vnd.ms-htmlhelp;application/x-chm;

Kịch bản

#!/usr/bin/env python

import sys, os
from chm import chm
from BeautifulSoup import BeautifulSoup

class ChmThumbNailer(object):
    def __init__(self):
        self.chm = chm.CHMFile()

    def thumbnail(self, ifile, ofile, sz):

        if self.chm.LoadCHM(ifile) == 0:
            return 1

        bestname    = None
        bestsize    = 0
        base        = self.chm.home.rpartition('/')[0] + '/'
        size, data  = self.getfile(self.chm.home)

        if size > 0:
            if self.chm.home.endswith(('jpg','gif','bmp')):
                self.write(ofile, sz, data)
            else:
                soup = BeautifulSoup(data)
                imgs = soup.findAll('img')
                for img in imgs:
                    name = base + img.get("src","")
                    size, data = self.getfile(name)
                    if size > bestsize:
                        bestsize = size
                        bestname = name
                if bestname != None:
                    size, data = self.getfile(bestname)
                    if size > 0:
                        self.write(ofile, sz, data)
        self.chm.CloseCHM()

    def write(self, ofile, sz, data):
        fd = os.popen('convert - -resize %sx%s "%s"' % (sz, sz, ofile), "w")
        fd.write(data)
        fd.close()

    def getfile(self,name):
        (ret, ui) = self.chm.ResolveObject(name)
        if ret == 1:
            return (0, '')
        return self.chm.RetrieveObject(ui)

if len(sys.argv) > 3:
    chm = ChmThumbNailer()
    chm.thumbnail(sys.argv[1], sys.argv[2], sys.argv[3])

Tệp EPUB

Tổng quat

Mô tả : epub-Thumber là một tập lệnh đơn giản cố gắng tìm bìa trong tệp epub và tạo hình thu nhỏ cho nó.

Người tạo : Mariano Simone ( https://github.com/marianosimone/epub-thumbnailer )

Phụ thuộc : không được liệt kê, làm việc tốt ngay lập tức

Mục thu nhỏ

[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/epubthumbnailer %i %o %s
MimeType=application/epub+zip;

Kịch bản

#!/usr/bin/python

#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Author: Mariano Simone (marianosimone@gmail.com)
# Version: 1.0
# Name: epub-thumbnailer
# Description: An implementation of a cover thumbnailer for epub files
# Installation: see README

import zipfile
import sys
import Image
import os
import re
from xml.dom import minidom
from StringIO import StringIO

def get_cover_from_manifest(epub):
    img_ext_regex = re.compile("^.*\.(jpg|jpeg|png)$")

    # open the main container
    container = epub.open("META-INF/container.xml")
    container_root = minidom.parseString(container.read())

    # locate the rootfile
    elem = container_root.getElementsByTagName("rootfile")[0]
    rootfile_path = elem.getAttribute("full-path")

    # open the rootfile
    rootfile = epub.open(rootfile_path)
    rootfile_root = minidom.parseString(rootfile.read())

    # find the manifest element
    manifest = rootfile_root.getElementsByTagName("manifest")[0]
    for item in manifest.getElementsByTagName("item"):
        item_id = item.getAttribute("id")
        item_href = item.getAttribute("href")
        if "cover" in item_id and img_ext_regex.match(item_href.lower()):
            cover_path = os.path.join(os.path.dirname(rootfile_path), 
                                      item_href)
            return cover_path

    return None

def get_cover_by_filename(epub):
    cover_regex = re.compile(".*cover.*\.(jpg|jpeg|png)")

    for fileinfo in epub.filelist:
        if cover_regex.match(os.path.basename(fileinfo.filename).lower()):
            return fileinfo.filename

    return None

def extract_cover(cover_path):
    if cover_path:
        cover = epub.open(cover_path)
        im = Image.open(StringIO(cover.read()))
        im.thumbnail((size, size), Image.ANTIALIAS)
        im.save(output_file, "PNG")
        return True
    return False

# Which file are we working with?
input_file = sys.argv[1]
# Where do does the file have to be saved?
output_file = sys.argv[2]
# Required size?
size = int(sys.argv[3])

# An epub is just a zip
epub = zipfile.ZipFile(input_file, "r")

extraction_strategies = [get_cover_from_manifest, get_cover_by_filename]

for strategy in extraction_strategies:
    try:
        cover_path = strategy(epub)
        if extract_cover(cover_path):
            exit(0)
    except Exception as ex:
        print "Error getting cover using %s: " % strategy.__name__, ex

exit(1)

Tập tin EXE

Tổng quat

Sự miêu tả : gnome-exe-Thumber là một công cụ thu nhỏ cho Gnome sẽ cung cấp cho các tệp Windows .exe một biểu tượng dựa trên biểu tượng nhúng của chúng và biểu tượng "Chương trình rượu" chung chung. Nếu chương trình có quyền thực thi bình thường, thì biểu tượng nhúng tiêu chuẩn sẽ được hiển thị. Trình thu nhỏ này cũng sẽ cung cấp một biểu tượng hình thu nhỏ cho .jar, .py và các chương trình thực thi tương tự.

Sẵn có : kho chính thức

Cài đặt

sudo apt-get install gnome-exe-thumbnailer

ODP / ODS / ODT và các tệp LibreScript và Open Office khác

Tổng quat

Mô tả: ooo-Thumber là một công cụ thu nhỏ tài liệu LibreOffice, OpenOffice.org và Microsoft Office có thể được Nautilus sử dụng để tạo hình thu nhỏ cho tài liệu, bảng tính, bản trình bày và bản vẽ của bạn.

Tính khả dụng : PPA của nhà phát triển (phiên bản mới nhất tương thích với LibreOffice trong Ubuntu 12.04 trở lên)

Cài đặt

sudo add-apt-repository ppa:flimm/ooo-thumbnailer && apt-get update && apt-get install ooo-thumbnailer

Còn .xpmhình ảnh thì sao? Tôi cho rằng chúng là "tiêu chuẩn" như png, jpgbmp, nhưng Nautilus không tạo ra các bản xem trước cho chúng.
MestreLion

Các tệp hình ảnh XPM hiển thị tốt cho tôi trên Nautilus 3.4: i.imgur.com/XYUZonV.png
Glutimate

1
Mặc dù vậy, tôi đã phát hiện ra rằng nó không thể xử lý các tệp có nhận xét trước /* XPM */tiêu đề, ngay cả khi eoghiển thị chúng tốt
MestreLion

Tôi nghĩ rằng bạn có thể tìm thấy mô phỏng của tệp bằng cách sử dụngfile -i FILE
Wilf

1

Tệp ICNS (Biểu tượng Mac OSX)

Tổng quat

Nautilus không tạo hình thu nhỏ cho các biểu tượng Mac OSX do một số lỗi , nhưng hỗ trợ được tích hợp sẵn GdkPixbuf.

Kịch bản

Đây là một kịch bản cơ bản để tạo hình thu nhỏ cho .icnscác tệp. Một phiên bản mạnh mẽ hơn có thể được tìm thấy tại https://github.com/MestreLion/icns-thumbnailer

#!/usr/bin/env python
import sys
from gi.repository import GdkPixbuf
inputname, outputname, size = sys.argv[1:]
pixbuf = GdkPixbuf.Pixbuf.new_from_file(inputname)
scaled = GdkPixbuf.Pixbuf.scale_simple(pixbuf, int(size), int(size),
                                       GdkPixbuf.InterpType.BILINEAR)
scaled.savev(outputname, 'png', [], [])

Tải về

Một tập lệnh cài đặt, cùng với .thumbnailertệp cho Nautilus, có sẵn tại kho dự án icns-Thumber

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.