Genel kurulum talimatları
Depolardaki ve PPA'lardaki küçük resimler
Bazı küçük resimler önceden paketlenmiştir ve yazılım merkezinden veya komut satırından kolayca kurulabilir. Bu küçük resimler ek bir yapılandırma gerektirmez ve nautilus yeniden başlatıldıktan hemen sonra çalışmalıdır. Bunu aşağıdakilerle yapabilirsiniz:
nautilus -q
Bir PPA'dan herhangi bir şey yüklemeden önce lütfen bu Soru ve Cevapları okumayı düşünün:
PPA nedir ve nasıl kullanılır?
PPA'ları sistemime eklemek güvenli midir ve dikkat edilmesi gereken bazı "kırmızı bayraklar" nelerdir?
Ubuntu 11.04 ve sonraki sürümlerde özel küçük resim komut dosyaları
Depolarda bulunmayan özel küçük resimlerin el ile yüklenmesi gerekir. Bunları yüklemek için atmanız gereken adımlar şunlardır:
Komut dosyasında listelenen herhangi bir bağımlılık olup olmadığını kontrol edin. Varsa, önce takın.
Komut dosyasını indirin ve Nautilus ile chmod a+x filethumbnailer
veya Nautilus üzerinden yürütülebilir yapın
Gelecekteki tüm küçük resimler için dosya sisteminizde bir klasör atayın ve komut dosyasını buraya taşıyın, örn.
mkdir $HOME/.scripts/thumbnailers && mv filethumbnailer $HOME/.scripts/thumbnailers
Sonra betiğinizi Nautilus'a kaydetmeniz gerekecek . Bunu yapmak için içinde bir küçük resim girişi oluşturun /usr/share/thumbnailers
. Giriş adlandırma düzeni izlemelidir seçtiğiniz (burada bir ifadesidir ):foo.thumbnailer
foo
file
gksudo gedit /usr/share/thumbnailers/file.thumbnailer
Küçük resim özellikleri şu şemayı takip eder:
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/file.thumbnailer %i %o %s
MimeType=application/file;
Exec
Entry sizin thumbnailer komut noktaları ise MimeType
tarla ilgili Mimetypes belirler. Olası değişkenler:
%i Input file path
%u Input file URI
%o Output file path
%s Thumbnail size (vertical)
Özellikler ve değişkenler her komut dosyasına göre değişir. İlgili metin kutusunun içeriğini kopyalayıp dosyaya yapıştırmanız ve kaydetmeniz yeterlidir.
Küçük resimler, nautilus ( nautilus -q
) yeniden başlatıldıktan sonra çalışır durumda olmalıdır .
Ubuntu 11.04 ve önceki sürümlerde özel küçük resim komut dosyaları
Ubuntu'nun önceki sürümleri, küçük resim ilişkilendirmeleri için GConf'a güveniyordu. Daha fazla bilgi için buraya bakın .
Kaynaklar :
https://live.gnome.org/ThumbnailerSpec
https://bugzilla.redhat.com/show_bug.cgi?id=636819#c29
https://bugs.launchpad.net/ubuntu/+source/gnome-exe-thumbnailer/+bug/752578
http://ubuntuforums.org/showthread.php?t=1881360
Dosya türüne göre küçük resimler
CHM dosyaları
genel bakış
Açıklama : Bu komut dosyası ile nautilus dosya yöneticisinde chm dosyalarınızın küçük resimlerini alırsınız. Komut dosyası, küçük resmi oluşturmak için chm dosyasının ana sayfasından en büyük resmi kullanır, genellikle bu ön kapağın bir görüntüsü olacaktır.
Oluşturan : monraaf ( http://ubuntuforums.org/showthread.php?t=1159569 )
Bağımlılıklar :sudo apt-get install python-beautifulsoup python-chm imagemagick
Küçük resim girişi
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/chmthumbnailer %i %o %s
MimeType=application/vnd.ms-htmlhelp;application/x-chm;
Senaryo
#!/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])
EPUB dosyaları
genel bakış
Açıklama : epub-thumbnailer, bir epub dosyasında bir kapak bulmaya çalışan ve bunun için bir küçük resim oluşturan basit bir komut dosyasıdır.
Oluşturan : Mariano Simone ( https://github.com/marianosimone/epub-thumbnailer )
Bağımlılıklar : listelenen yok, hemen iyi çalıştı
Küçük Resim Girişi
[Thumbnailer Entry]
Exec=$HOME/.scripts/thumbnailers/epubthumbnailer %i %o %s
MimeType=application/epub+zip;
Senaryo
#!/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)
EXE dosyaları
genel bakış
Açıklama : gnome-exe-thumbnailer, Gnome için Windows .exe dosyalarına gömülü simgelerine ve genel "Şarap programı" simgesine dayalı bir simge verecek bir küçük resimdir. Programın normal yürütme izinleri varsa, standart katıştırılmış simgesi gösterilir. Bu küçük resim ayrıca .jar, .py ve benzeri yürütülebilir programlar için küçük resim simgesi de verecektir.
Kullanılabilirlik : resmi depolar
Kurulum
sudo apt-get install gnome-exe-thumbnailer
ODP / ODS / ODT ve diğer LibreOffice ve Open Office dosyaları
genel bakış
Açıklama: ooo-thumbnailer, Nautilus tarafından belgeleriniz, e-tablolarınız, sunularınız ve çizimleriniz için küçük resimler oluşturmak üzere kullanılabilen bir LibreOffice, OpenOffice.org ve Microsoft Office belgesi küçük resmidir.
Kullanılabilirlik : geliştiricinin PPA'sı (Ubuntu 12.04 ve sonraki sürümlerinde LibreOffice ile uyumlu en son sürüm)
Kurulum
sudo add-apt-repository ppa:flimm/ooo-thumbnailer && apt-get update && apt-get install ooo-thumbnailer
.xpm
Görüntüler ne olacak ? Onlar gibi "standart" olduğunu kabulpng
,jpg
vebmp
fakat Nautilus onlar için önizleme oluşturmaz.