GNU/Linux'de Font Demosu Oluşturmak

Merhabalar,

Bu yazımda sizlere basit GNU/Linux komutları kullanarak bir ya da birden çok font  için demo görseller oluşturmayı göstereceğim. Bazı durumlarda bir yazısının, bir ya da birden çok fontta nasıl göründüğünü merak ediyor olabiliriz. Bu ve benzeri durumlarda bu yazıda göstereceğim yöntemi kullanabilirsiniz. Bu yazının banner görseli de bu yöntem ile oluşturulmuştur. Ayrıca takip edenleriniz varsa son yazılım gündemi yazısındaki (bkz: Yazılım Gündemi - 2020/03) JetBrains Mono yazı tipi haberindeki görseli de bu yöntemle oluşturdum 🙂 O halde başlayalım.

Bu komutların çalışabilmesi için sisteminizde imagemagick kütüphanesinin kurulu olması gerekir.

Komutumuz:

convert -size 900x300 xc: -annotate +10+10 "JetBrains-Mono-Regular" -gravity center -pointsize 42 -font "JetBrains-Mono-Regular" -annotate +0+0 'ABCDEF\nabcdef\n012345\n!@$%%\nğüşçöi {([])}' deneme.png

Bu komutun çıktısı ise:

Komutu inceleyelim:

  • -size 900x300: Oluşturacağımız görselin boyutları ENxBOY px şeklinde
  • -annotate +10+10 "JetBrains-Mono-Regular": Görelin içerisinde soldan +10 pixel ve üstten +10 pixelde konumlanacak bir yazı ekliyoruz. Bu yazı fontumuzun ismi oluyor. Örnek çıktıda sol üstte gördüğünüz küçük yazılmış font isminden bahsediyorum.
  • -gravity center -pointsize 42 -font "JetBrains-Mono-Regular" -annotate +0+0 'ABCDEF\nabcdef\n012345\n!@$%%\nğüşçöi {([])}': Oluşturduğumuzun görselin tam ortasında 42pt büyüklüğünde fontu "JetBrains-Mono-Regular" olan bir yazı ekliyoruz. Bu da zaten örnek çıktıda tam ortada gördüğümüz karakterler oluyor.
  • deneme.png: Bu da zaten tahmin edebileceğimiz üzere oluşturulacak olan dosyanın ismi.

Komuttaki hemen her şeyi kendinize göre özelleştirebilirsiniz tabii ki de fakat "ee ne anladım bundan! Tüm fontlar için tek tek komut mu çalıştıracağım?" dediğinizi duyar gibiyim fakat aceleye gerek yok. İmdadınıza basit GNU/Linux komutları yetişiyor. Şöyle ki:

convert -list font | awk -F: '/^\ *Font: /{print substr($NF,2)}' | while read font ; do convert -size 600x400 xc: -annotate +10+10 "$font" -gravity center -pointsize 42 -font "$font" -annotate +0+0 'ABCDEF\nabcdef\n012345\n!@$%%\nğüşçöi {([])}' "$font".png ; done

Bu komutları da inceleyelim:

  • convert -list font: convert aracıyla kullanılabilecek sisteminizde yüklü tüm fontların listesini verir.
  • awk -F: '/^\ *Font: /{print substr($NF,2)}': Bir önceki komutun yazdırdığı font listesindeki gereksiz kısımları siler.
  • while read font ; do ... done: Bir önceki komut tarafından temizlenmiş font isimlerini tek tek okur ve $font isimli değişkene aktarır ve do'dan sonra gelen komutu o liste bitene kadar çalıştırır. Burada $font değişkeni de komutun içerisindeki ilgili yerlerde kullanılmış, oralara dikkat edin. Bir önceki aşamada elle yazdığımız font isimleri yerine artık bu değişken geliyor.

Örnek birkaç çıktıya bakalım:

Görsellere tıklayarak büyültebilirsiniz.

Çeşitli bash betikleri yazarak bu komutları daha da geliştirebiliriz tabii, hatta ben ileride bunun için bir bash betiği yazmayı düşünüyorum ama şimdilik bu kadarı yeterli olur diye düşünüyorum.

Başka bir GNU/Linux yazısında görüşmek üzere...

 

Etiketler: #GNU #Linux #ImageMagick #Font #Demo #Bash #Betik

BeğenFavori PaylaşYorum yap

#Gününİpucu: #GNU/#Linux sistemlerde tek satır komut ile tekrarlayan satırlardan kurtulmak
awk '!visited[$0]++' dosya.txt > dosya_cikti.txt
komutunu çalıştırdığınızda dosya.txt dosyasındaki tekrarlayan satırların silinmiş hali
dosya_cikti.txt olarak kaydedilir.

Örnek deneme.txt:
a
b
a
c
a

Örnek deneme_cikti.txt:
a
b
c

awk çoğu GNU/Linux dağıtımında yüklü gelen bir örüntü temelli tarama ve işleme dilidir.

BeğenFavori PaylaşYorum yap

#Gününİpucu: #GNU/#Linux dağıtımlarında uygulama yüklemeden basit hatırlatıcı kurmak:

Terminal'den sleep 10m && notify-send "Su iç" gibi bir komut çalıştırdığınızda 10 dakika sonra "Su iç" yazan bir bildirim alacaksınız. Süre belirtmek için "10m" ifadesini düzenleyebilirsiniz. Saniye için 10s, dakika için 10m, saat için 2h gibi ifadeler kullanabilirsiniz. Ben basit hatırlatma işleri için kullanıyorum.

Bu komutu çalıştırdığınızda ilgili terminal penceresini kapatmamanız gerekiyor fakat isterseniz komutun sonuna bir & işareti ekleyerek arkaplanda da çalıştırabilirsiniz. Bu sayede ilgili terminal penceresini başka işler için de kullanabilir ya da kapatabilirsiniz.

Meraklısına detaylar:
* sleep: Belirtilen süre boyunca bekleyen bir araç. (daha detaylı bilgi için man sleep)
* notify-send: Sisteme bildirim göndermeye yarayan bir araç.(daha detaylı bilgi için man notify-send)
İkisi de çoğu GNU/Linux dağıtımında yüklü gelen araçlar.

#Hatırlatma #PratikBilgi

BeğenFavori PaylaşYorum yap

#Ubuntu 'dan bildiriyorum: 20 gündür kapatmadım bilgisayarı, kullanmadığım zamanlarda uykuya alıp, sonra da uyandırarak kullanıyorum. 20 gündür sorunsuz. Gerçi benimki biraz daha özel bir senaryo. Masaüstü ortamı yok #StumpWM üzerinde kullanıyorum, çoğunlukla terminal ağırlıklı. Terminal'deki font Terminus, merak eden olursa.
#GNU/#Linux

BeğenFavori PaylaşYorum yap

Humble Bundle, GNU/Linux ve BSD kitapları bundle'ı yapmış. Bir dolarlık pakette bile güzel şeyler var. İlgili arkadaşlar değerlendirebilir.

https://www.humblebundle.com/books/linux-bsd-bookshelf-2019-books

#HumbleBundle #GNU/#Linux #FreeBSD #ekitap

Humble Book Bundle: Linux & BSD Bookshelf by No Starch Press

Pay what you want for awesome ebooks and support charity!
BeğenFavori PaylaşYorum yap

Öylesine deneysel bir şeyler yapasım geldi 😀 Bilgisayara VNC Server kurup, mobilden o VNC server'a bağlandım ama PC'nin klavye ve faresini mobilin ekranda kullanmayı beceremedim, bakalım.
#GNU/#Linux #VNC #TerminalSevenlerDerneği #StumpWM

BeğenFavori PaylaşYorum yap

GNU/Linux ortamında sık sık kullandığımız sudo komutunda bir güvenlik açığı bulunmuş (CVE-2019-14287 [1]). GNU/Linux dağımı kullanan arkadaşlar mutlaka güncelleştirmeleri kontrol etsinler.

Kaynak: https://thehackernews.com/2019/10/linux-sudo-run-as-root-flaw.html?m=1

[1]: https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14287

#GNU/#Linux #güvenlik

Sudo Flaw Lets Linux Users Run Commands As Root Even When They're Restricted

A vulnerability in Sudo, tracked as CVE-2019-14287, could allow Linux users to run commands as root user even when they're restricted.
BeğenFavori PaylaşYorum yap

Terminal kullanımımda level atladım. Artık resimlerin ön izlemelerine de terminal'den bakabiliyorum.
Kullandığım araç şu: lsix - https://github.com/hackerb9/lsix/
#TerminalSevenlerDerneği #GNU/#Linux

BeğenFavori PaylaşYorum yap
  • gordonfreeman @gordonfreeman

    Bu resimleri set halinde paylaşsanıza yav ahaha

  • Hamdi @hamdi

    Tamamen masum nedenlerle, meraktan soruyorum. Yazılımla uğraşırken terminalde çalışmak çok daha iyi ve keyifli oluyor, onu ayrı tutuyorum ama onun haricinde terminal manyaklığı sadece kullanım tarzı mı yoksa önemli bir yeti olduğunu düşünüyor musun?

    • Eren Hatırnaz @erenhatirnaz

      Benim için önemli bir yeti hocam ama biraz da kullanım tarzı gibi. Aslında bunu yazılımdan bağımsız düşünmek biraz zor. Mesleğim yazılım üzerine olunca ister istemez bazı şeyleri kendim programlamak, kendime göre özelleştirmek istiyor insan -en azından benim için öyle. Kendi özel ihtiyaçlarım için kendi araçlarımı kodlamak ve kullanmak beni çok tatmin ediyor. Elbette grafiksel arayüzü olan programlar da yapılabilir ama terminal üzerinden çalışan uygulamalar yapmak benim için çok daha pratik oluyor. Tasarım vb. derdim olmuyor. Biraz entelektüel mastürbasyon gibi de gözükebilir ama gerçekten işlerimi terminal'den halletmeyi seviyorum.

    • Hamdi @hamdi

      @erenhatirnaz ya benim içinde önemli bir yeti, özellikle bir yazılımcı için. Bende ağırlıklı olarak terminal kullanmayı seviyorum ve kullanıyorumda. Ama böyle manyaklar var ya arayüz olmadan felan kullanıyorlar Linux dağıtımlarını. Ben daha çok o aşırılıktan bahsetmiştim terminalde görsel önizlemeleri felan görünce. 🙂

    • Eren Hatırnaz @erenhatirnaz

      @hamdi Aslında ben de o manyaklardan sayılırım hocam (https://teknoseyir.com/durum/1063112) 😀 Uzun bir süredir tüm alışkanlıklarımı sadece klavye ile yapılabilecek hale getirmeye çalışıyorum o yüzden ne kadar az tıklama gereksinimi o kadar iyi benim için. Biraz zevkler ve renkler meselesi bu hocam.

    • Hamdi @hamdi

      @erenhatirnaz mouse kullanmak yoruyor insanı cidden. Ama farklı bir ortamda, cihazda, firmada çalışma gereksinimi olunca nasıl olacak? Bence ortamı bu kadar özelleştirmek pek doğru bir hareket değil profesyonel yazılımcılar için. Kodun ve cihazların kapıdan dışarı çıkmadığı firmalar, kurumlar var mesela.

    • Eren Hatırnaz @erenhatirnaz

      @hamdi Bilemiyorum henüz öyle bir şey başıma gelmedi hocam.

#Windows görünümlü #GNU/#Linux 😀 Reddit'de buldum. Terminalde sistem bilgileri yazmasa Windows sanırdım. Artık GNU/Linux dağıtımlarındaki arayüzler o kadar farklı değil, alışılabiliyor ama alışamayanlar için ideal bir kurulum. Ben kültür sanat evine kuracağım bu tema sistemini.

Masaüstü ortamı: KDE Plasma
Plasma Teması: https://github.com/fauzie811/plasma-theme-modern10light
KWin Teması: https://github.com/fauzie811/Breeze10
İkon Paketi: https://github.com/B00merang-Artwork/Windows-10
Başlat Menüsü: https://github.com/fauzie811/plasma-applet-simple10menu

Kaynak: https://www.reddit.com/r/unixporn/comments/cftroh/kde_plasma10_updates/

BeğenFavori PaylaşYorum yap