July 10, 2020

Linux Mint 19.3 Linux Mint 20’ye nasıl yükseltilir?

Öncelikle şunu belirtelim: Linux Mint 19.3’ün hem 32 bit hem de 64 bit sürümleri Nisan 2023’e kadar desteklense de, Linux Mint 20 de dahil olmak üzere yeni Linux Mint sürümleri yalnızca 64 bit olarak kullanılabilecek. Bu nedenle, Linux Mint 20’ye yükseltmek için, Linux Mint 19.3’ün 64 bit sürümünü kullanıyor olmanız gerekiyor. hangi sürümü kullandığınızı anlamak için şu komutu çalıştırabilirsiniz: dpkg --print-architecture. Çıktı amd64 olarak dönerse, sistemi, Linux Mint 20’ye yükseltebilirsiniz. İ386 çıktısını alırsanız, 32 bit sürümünü kullandığınız anlamına gelir. Bu durumda yükseltme yapamazsınız ve Linux Mint 19.3 ile devam etmeniz gerekir. Linux Mint 20’ye yükseltmek için APT ve komut satırı deneyimine sahip olmanız gerekir. Şimdi çalışmaya başlayabiliriz. Öncelikle sisteminizde tüm güncellemelerin tam olarak yapılmış olması gerekir. Öncelikle Menü -> Yönetim -> Güncelleme Yöneticisi ile Güncelleme Yöneticisini açın. “Yenile” düğmesine basın. Yeni paketler çıkarsa, “Tümünü Seç” düğmesine basın ve ardından “Güncellemeleri Yükle” düğmesine basarak güncelleme işlemini gerçekleştirin. Yok, yeni paketler gelmezse, bu sisteminizin güncel olduğunu gösterir, devam edebilirsiniz.

Yükseltme sırasında bir sorun oluşursa, en son sistem anlık görüntüsünü geri yükleyerek zamanda geriye gidebilir ve tüm değişiklikleri geri alabilirsiniz. Bir sistem anlık görüntüsü oluşturmak için Timeshift’i “Menü -> Yönetim -> Timeshift” ile başlatıp, anlık görüntüler için bir hedef seçmek üzere sihirbazı izleyebilirsiniz. İlkin yükseltme aracını kurmanız gerekiyor. Bunun için terminale aşağıdaki kodu girin:

apt install mintupgrade

Şİmdi bir kontrol yapmamız gerekiyor. Bunun için terminale aşağıdaki kodu girin:

mintupgrade check

Ardından ekrandaki talimatları izleyin. Bu komut sistemi geçici olarak Linux Mint 20 depolarına yönlendirir ve yükseltmenin etkisini hesaplar. mintupgrade check komutuyla; yükseltmenin mümkün olup olmadığını ve varsa hangi paketlerin yükseltileceğini, yükleneceğini, kaldırılacağını ve saklanacağını öğrenrceksiniz. Artık paket yükseltmelerini indirmeye başlayabiliriz. Bunun için terminale aşağıdaki komutu girin:

mintupgrade download

Bu komutun aslında yükseltmenin kendisini gerçekleştirmez, yalnızca paketleri indirir. İndirme bittikten sonra yükseltmeleri uygulayabiliriz. Bu adım geri alınamaz. Bunu yaptıktan sonra, geri dönmenin tek yolu bir sistem anlık görüntüsünü geri yüklemektir. Yükseltmeleri uygulamak için terminale aşağıdaki komutu yazın:

mintupgrade upgrade

Bazı paketler artık Linux Mint 20’de mevcut değil veya Linux Mint 19.3 sürümünden daha düşük bir sürüme sahip. Düzgün çalışmalarını garanti etmek için indirgenmeleri gerekir. “Menü -> Yönetim -> Yazılım Kaynakları” ndan Yazılım Kaynakları aracını başlatın. “Bakım” sekmesini açın ve “Yabancı Paketleri Eski Sürüme Geç” seçeneğini tıklayın. Tüm yabancı paketleri seçin ve “Eski sürüme geçir” i tıklayın.

Şimdi de yabancı paketleri silmemiz gerekiyor. Bunun için “Menü -> Yönetim -> Yazılım Kaynakları” ndan Yazılım Kaynakları aracını başlatın. “Bakım” sekmesini açın ve “Yabancı Paketleri Kaldır” ı tıklayın. Kendiniz kurduğunuz paketler hariç (3. taraf kaynaklardan), tüm yabancı paketleri seçin ve “Kaldır” a tıklayın.

Yükseltme yapamıyorsanız, lütfen yeni bir kurulum yapın. Yükseltmelerle ilgili Clement Lefebvre’in yazdığı genel talimatları burada ve burada bulabilirsiniz.

Linux Mint 20 “Ulyana” Güncellemesi Nasıl Yapılır?

Linux Mint 19.3’ün 32-bit ve 64-bit versiyonları Nisan 2023’e kadar destekleniyor. Linux Mint 20’de sadece 64-bit sürüm destekleniyor. Eğer güncelleme yapmak istiyorsanız sisteminizin 64-bit olması gerekiyor. Sisteminizin 32-bit mi yoksa 64-bit mi olduğunu öğrenmek için aşağıdaki komutu terminalde çalıştırın. dpkg --print-architecture Komutu çalıştırdıktan sonra “amd64” yazısıyla

July 09, 2020

Openbox: Sağ Tık Menüye Menü Başlığı Ekleme

Openbox sağ tık menüsü, zevke göre, istenildiği gibi özelleştirilebilir.Bu menüyü görsel olarak güzelleştiren şeylerden biri de, güzel bir font seçilerek eklenecek olan menü başlığıdır.Gelin, Openbox sağ tık menümüze menü başlığı ekleyelim.

Bunun için ~/.config/openbox dizininde(eğer oraya kopyaladıysak) veya /etc/xdg/openbox dizininde bulunan menu.xml dosyamızı kullandığımız metin editörü yardımıyla açıyoruz.

menu.xml dosyamızdaki;

<menu id="root-menu" label="Openbox 3">

Satırını buluyoruz.Bu satırının altına;

<separator label="Openbox"/>

Satırını ekliyoruz.Eklediğimiz satırdaki “Openbox” yazısını istediğimiz gibi değiştirebiliriz.Bunları yaptıktan sonra dosyamızı kaydedip çıkıyoruz.Sonucu görmek için oturumu yenilemek veya oturumu yeniden başlatmak gerekebilir.

Menü başlığımızın yazı stilini değiştirmek için de ObConf’u açıp, soldaki Görünüm menüsünden, “Menü başlığı” altından istediğimiz yazı stilini seçmemiz yeterli olacaktır.

July 07, 2020

Openbox: Sağ Tık Menüye Simge Ekleme

Elbette Openbox’u sadeliğinden dolayı tercih ediyor olabilirsiniz.Ancak, bazı durumlarda, ufak tefek görsellikller de göze hoş gelmiyor değil.Bunlardan biri de sağ tık menüye simge eklemektir.Şimdi gelin nasıl yapabileceğimize bakalım

Openbox sağ tık menüye simge eklemek için, menu.xml dosyamıza küçük bir ekleme yapacağız.Bunun için menu.xml dosyamızı kullandığımız metin editörü yardımıyla açıyoruz.

sudo featherpad /home/kullanıcı_adı/.config/openbox/menu.xml

(Ben Featherpad kullanıyorum.Siz de hangi editörü kullanıyorsanız featherpad yerine onu yazabilirsiniz.Yine kullanıcı_adı yerine de kendi kullanıcı adınızı yazmayı unutmuyorsunuz.)

Açılan dosyamıza, menü girdilerine şu eklemeyi yapacağız.

icon="/home/kullanıcı_adı/.icons/tint2/simge_adı.svg"

(simge_adı yerine uygulamaların simgeleri için kullandığınız simgelerin adını yazmalısınız.)

Benim simgelerim ev dizinimde, /.icons/menu_icons olarak hazırladığım klasörde bulunuyor.Burada simgelerin bulunduğu dizin yoluna göre değişiklik yapmak gerekiyor.Yine Uçbirim için benim menu.xml dosyamdan örnek vereyim:

<item icon="/home/kullanıcı_adı/.icons/tint2/terminal.svg" label="Uçbirim">
<action name="Execute">
<execute>lxterminal</execute>
</action>
</item>

Resimde daha iyi görebilirsiniz:

Ve sonuç olarak sağ tık menümüz resimdeki gibi simgelerine kavuşmuş oluyor.

July 06, 2020

Openbox: Dinamik Menü ” openbox-menu”

“openbox-menu”, Openbox pencere yöneticisi için; yüklü uygulamaları listeleyip açmaya yarayan bir dinamik menüdür.Projeyle ilgili sayfalara buradan ve buradan ulaşılabilir.

“penbox-menu”, Ubuntu ve türevlerinde, Debian ve Arch Linux’ta depolardan kurulabilir.

sudo apt install openbox-menu

Kurulumdan sonra, menu.xml dosyasına yapacağımız küçük bir ekleme ile kullanılabilir hale gelecektir.Bunun için /etc/xdg/openbox dizin yolunda bulunan veya ~/.config/openbox dizin yolundaki(eğer dosyamızı bu dizine kopyaladıysak) menu.xml dosyamızı kullandığımız metin editörü yardımıyla açıyoruz.Dosyamızın uygun bir yerine aşağıdaki kodu yapıştırıyoruz:

<menu execute="/usr/bin/openbox-menu lxde-applications.menu" id="desktop-app-menu" label="Uygulamalar"/>

Burada Uygulamalar yerine tercih edeceğimiz şekilde isimlendirme yapabiliriz.

Dosyamızı kaydedip kapatıyoruz.Artık Openbox sağ tık menümüzde Uygulamalar adıyla, kurulu uygulamaları listeleyip açmamızı sağlayan bir dinamik menümüz var.Yeni kurduğumuz uygulamalar da bu menüye otomatik olarak eklenecektir.

 

 

July 03, 2020

USB Fon Müzikli Bildirim Dosyası

Bazı sistemler USB takıldığında bildirim vermez, bazıları ise USB'yi çıkarırken vermez.Bu durum bizlere bazı sorunlar yaşatabilir.Örneğin USB takılı olduğu halde USB bağlı değilse yanılmamıza ve yaptığımız işin boşa gitmesine neden olur.USB takarken ve çıkarırken bildirim vermesini ve bildirimle birlikte fon müzikli olmasını isterseniz hazırlamış olduğum alttaki bağlantıdan

July 02, 2020

Linux: Debian mı Ubuntu mu?Seçim Yapmadan Önce Bilinmesi Gerekenler

Linux Dünyası ile ilk tanışmam 2004 yılında Ubuntu ile olmuştu.Ardından Debian’la tanıştım.Aralarında çok gittim geldim.En sonunda benim tercihim Debian’dan yana oldu.Bunun kendime göre bir çok nedeni vardı.Ancak, Ubuntu’yu takibi de hiç bırakmadım; ta ki Unity arayüzüne geçene kadar.Unity ile birlikte Ubuntu ile yollarımız ayrıldı.
 
Ubuntu Unity’i bırakıp tekrar Gnome’a dönüş yaptı.Gel gör ki, Unity’den aldığı mirasla hala sol tarafta bir Dock bulunduırmaya ve masaüstünde gereksiz bir şekilde yer kaplamaya devam ediyor.Bundan hoşlanmadığımı ve bu arayüzden kurtulmanın yollarını buradaki ve buradaki yazılarımda anlatmıştım.(Seven seviyor elbette, saygı duyarım!)
 
Peki siz de hiç Debian ve Ubuntu ikileminde kaldınız mı?Linux dünyasına girdiğinizde muhakkakdağıtım seçme konusunda bazı tercihler yapmak durumunda kalırsınız.Ki burada, ilk ve en zorlu iş hangi dağıtımı kullanmak istediğinize karar vermektir.Her birinin avantajları ve dezavantajları olan seçim yapabileceğiniz o kadar çok seçenek var ki!
 

Mevcut en popüler dağıtımlardan ikisinin Ubuntu ve Debian olduğu su götürmez bir gerçektir.Her ikisi de çok kullanılır ve aralarından seçim yapmak biraz zordur.Bu yazı, bu konuda bir nebze de olsa kullanıcıya tercihlerinde yardımcı olmak amacıyla hazırlanmıştır.

Debian, Linux tabanlı en eski işletim sistemlerinden biridir. İlk versiyonu 1993’te piyasaya sürüldü.Debian sağlamlığı ve açık kaynağa bağlılığıyla bilinir.Ayrıca, tamamen topluluk güdümlü bir dağıtımdır.Yıllar boyunca, muhtemelen istikrarlı olması ve basitliği nedeniyle Debian’ı teel alan birçok popüler dağıtım ortaya çıkmıştır.

Ubuntu’ya gelirsek…Tartışmasız en popüler Linux tabanlı işletim sistemidir. Ubuntu’nun arkasında Canonical şirketi var, geliştirme ve destek şirket tarafından verilir.Burada ilginç olan gerçek ise, Ubuntu’nun da Debian’a dayanmasıdır.Bu yüzden Ubuntu ve Debian arasında birçok temel benzerlikler vardır.

Ubuntu ve Debian’ın her ikisi de birçok açıdan oldukça benzerlik gösterir. Her ikisi de manuel kurulum için APT paket yönetim sistemini ve DEB paketlerini kullanır. Her ikisi de GNOME olan aynı varsayılan masaüstü ortamına sahiptir.Bu, varsayılan görünüm ve izlenimin ve varsayılan/önceden yüklenmiş uygulamaların çoğunun benzer olacağı anlamına gelir.

1. Sürüm Döngüsü
 
Ubuntu ve Debian arasındaki en önemli fark, sürüm döngüsüdür. Çoğu cihazda sorun olmamasına rağmen, yeni donanım teknolojisini takip edip etmediğiniz veya tüm yazılımların en son sürümünü kullanmayı isteyip istemediğinizi bilmek bu konuda önem arz eder.
 
Debian için yayınlanan resmi bir sürüm döngüsü söz konusu değildir. Bununla birlikte, neredeyse iki yılda bir yeni bir sürüm sunar.Sürümlere Oyuncak Hikayesi(Toy Story) serisinden karakterlerin ismi verilmiştir. Örneğin, en son kararlı(Stable) sürümün adı Buster’dır.
 
Bu sürüm döngüsünü yavaş bulan kullanıcılar için, sık sık güncellenen bir sürüm olan Debian Testing de vardır(Şu anki adı Bullseye). Adı ve niteliğine rağmen, kullanıcılara göre, Debian Testing çoğu zaman oldukça kararlıdır ve yuvarlanan bir sürüm olarak kabul edilebilir.
 

Debian’ın “Kararsız(Unstable)” adlı bir sürümü daha vardır. Debian Unstable sık sık güncellenir ve en son özellikleri barındırır, bu da sistemin daha kırılgan olmasına neden olur.Bu sürüm, Debian’ın  sınanmasına yardımcı olan ve hata bildirmeye yardımcı olan kişiler için daha uygundur.Debian kararsız(Unstable) sürüm adın, Oyuncak Hikayesi(Toy Story)’de her zaman oyuncakları kıran çocuğun adı olan Sid’den almıştır.

2. Kararlılık

Kullanım amacınıza göre kararlılık sizin için gerekli olabilir. Bilmeniz gereken, Ubuntu ve Debian’ın kaarlılıkları arasında bazı farklılıklar bulunduğudur.

Ubuntu’nun sürüm döngüsü oldukça düzenli ve sürümler çoğunlukla gerçekten kararlıdır. Ara sıra karşılaşılan bazı sorunlar olsa da bu çok sık yaşanan bir durum değildir.Ubuntu, sistem bozulursa bile, kullanıcıların çoğunluğunu etkileyen bir durum oluşturmayacak bir yapıya sahip olduğundan, kişisel kullanım için oldukça uygundur.

Debian, kaya gibi sağlamlığı(kararlılığı) ile bilinir. En son yazılıma/sürücülere ihtiyaç duymuyorsanız ve sisteminizin gerçekten kararlı/sağlam olmasına iktiyaç duyuyorsanız, Debian(Kararlı/Stable Sürüm) en doğru tercih olacaktır.Bununla birlikte, nispeten daha güncel bir sürüm istiyorsanız da Debian Testing’i tercih edebilirsiniz.

3. Geliştirme

Bu nokta her kullanıcı için önem arz etmese de, yine de önemlidir. Her iki dağıtımın geliştirme yöntemleri ve ekipleri farklıdır.

Debian tamamen topluluk güdümlü bir dağıtımdır.Tüm dünyadaki programcılar ve geliştiriciler tarafından korunur ve geliştirilir.Bu gelişme biçimi sürekliliği sağlar. Geliştiricilerden biri proje üzerinde çalışmayı bırakmaya karar verirse, başka bir geliştirici projeyi devam ettirebilir.Bu da Debian’da merkezi bir kontrol mekanizması bulunmadığı anlamına gelir.

Debian’ın hem topluluk temelli hem de çok başarılı olması ve yaygın olarak kullanılması, niteliğiyle ilgilidir.

Ubuntu’nu bir şirket tarafından(Canonical) geliştirilmesinin birtakım avantajları vardır. Belirli bir serbest sürüm döngüsüne sahiptir; resmi bir destek hattına ve ayrıca özel yazılım/donanım desteğine sahiptir.Bu durum aynı zamanda bir dezavantajı da beraberinde getirebilir: Canonical, Ubuntu’nun aktif gelişimi için fişi her an çekmeye karar verebilir. Her ne kadar bu gerçekleşme olasılığı düşük bir ihtimal olsa da, böyle bir durumda bundan sadece aktif kullanıcılar değil, Ubuntu temelli  sürümler/dağıtımlar da etkilenecektir.(Linux Mint, Pop! _OS, Kubuntu, Xubuntu, vb.)Bu nedenle Linux Mint, Debian’a temelli, LMDE (Linux Mint Debian Edition) adlı paralel bir proje geliştirmektedir.

4. Yazılım Depoları

Ubuntu oldukça geniş bir yazılım deposuna sahiptir. Popülerliği nedeniyle, depolarında çok çeşitli yazılımlar barındırır.Ayrıca Ubuntu, sisteminize ek depolar eklemek için kullanılabilen PPA (Kişisel Paket Arşivi) özelliğine de sahiptir.

Bunun dışında Canonical, Linux dağıtımları için merkezi bir uygulama yayınlama ve yükleme platformu olarak görev yapacak olan Snapcraft üzerinde de çalışıyor. Tüm Linux dağıtımlarını desteklediğini söylese de, kullanıcılar tarafından şu an için buntu tabanlı dağıtımlarla iyi uyum sağladığı vurgulanmaktadır.

En önemlisi, Ubuntu depolarında tescilli yazılımlar da barındırmaktadır. Bu, kaynak kodlarını açık olarak yayınlamayan şirketlerin donanım sürücülerinden oluşur. Bu, sisteme donanım desteği ve işlevsellik avantajı sağlasa da, açık kaynak felsefesine inanan kullanıcılar bundan çok fazla hoşlanmayabiliyorlar.

Debian, depolarında yalnızca ücretsiz ve açık kaynaklı yazılımlara sahiptir. Bu çoğunlukla kullanıcılar için yeterli. Yalnızca tescilli sürücüleri olan donanımı kullanan kullanıcılar hariç, bu depolar iyi çalışır. İhtiyacınız olan şey buysa, tescilli yazılıma sahip depolar da ekleyebilirsiniz.

Debian, tıpkı Ubuntu gibi PPA’ları da destekler.

Depolarında açık kaynaklı bir yazılıma sahip olan Debian, kullanıcıları bu yönüyle de cezbeder.Nitekim bazı bazı kullanıcılar, yalnızca açık kaynağa bağlı bir kullanımı tercih edebiliyorlar.

5. Sistem Performansı

Debian ve Ubuntu’nun her ikisi de oldukça iyi performans gösterir ve donanım uyumluluğu konusunda çok fazla sıkıntı çıkarmazlar.Ubuntu, belirli ‘özellikleri’ vaat eden daha fazla yazılımla birlikte gelir.Diğer yandan Debian, varsayılan olarak yüklenmiş daha minimum yazılımlarla birlikte gelir.Bu da, Debian’ın btemel bir kurulumla daha iyi performans göstermesini sağlar.

Ubuntu’da da, sistemi daha hafif hale getirmek için yazılımlar kaldırılabilir elbette, ancak sistem için hangi paketlerin gerekli olduğunu her kullanıcı bilemeyebileceğinden sorun çıkma ve sistemin kararlılığının bozulması olasılığı yüksektir..

6. Oyun

Eğer bir oyuncuysanız, muhtemelen en son yazılım, sürücüler ve donanım desteği öncelikli ilgil alanınızda olacaktır.Debian potansiyel olarak bunu sağlayabilir ancak daha çok yazılımıların açık kaynak tarafına odaklandığından, her türlü yazılımın çalışmasını sağlaması bazı durumlarda sıkıntılı olabilir.

Buna karşın yukarıda belirtildiği gibi, Ubuntu, genellikle oyun için gerekli olan grafik sürücülerinden oluşan belirli tescilli paketleri de desteklemektedir.

7. Kurulum

Yükleme işlemi için Debian, Debian Installer’ı kullanır. Öte yandan, Ubuntu Ubiquity adlı bir yükleyici kullanır.

Her iki yükleyici de grafik arabirim sağlar, ancak Debian Installer Ubiquity ile karşılaştırıldığında bazı ek seçenekler sunar. Bu, gelişmiş kullanıcılar için bir avantaj olabilse de, yeni başlayanlar için oldukça zor da olabilir. Ancak, internette bolca kaynak bulunduğundan, bu çok ta endişe edilecek bir şey değildir.

8. Amaç

Her şeyden önce her iki dağıtımın da en çok ne için kullanıldığını da bilmelisiniz. Herhangi bir dağıtım, dağıtımı kullanan topluluğa göre gelişim gösterir.Bu nedenle bir seçim yapmadan bilinçli olmak önemli bir husustur.

Ubuntu çok amaçlı bir dağıtımdır.Çok geniş bir kullanıcı tabanına sahip olması, her yönden geliştirilmesini gerekli kılmaktadır.gerekiyordu.Bu nedenle Ubuntu’nun neredeyse her kullanım senaryosuna uyarlanabilir bir yapısı vardır.

Debian tüm kullanımlara uyacak şekilde de yapılandırılabilse de, istikrarı ve kararlılığı açısından oldukça popülerdir. Ubuntu’da olduğu gibi her şey kolayca yapılandırılamayabilir.Basitçe söylemek gerekirse, Debian, daha fazla emek ve uğraş ister.

9. Masaüstü Ortamları

Debian, için varsayılan masaüstü ortamı olarak GNOME sunsa da, diğer ortamları da depolarından yükleyebilirsiniz.

Ubuntu’nun ise, farklı masaüstü ortamları için farklı adlandırılmış dağıtımları vardır. Örneğin, KDE’li Ubuntu Kubuntu’dur. Xfce ile Ubuntu Xubuntu, vb.

Sonuç

Ubuntu ve Debian her ikisi de harika dağıtımlardır.Yüzeysel olarak benzerlikler gösterseler de, derinlliklerinde daha fazla farklılıklar barındırırlar.. Sonuç olarak hangisini kullanmak isteyeceğinizi, kişisel tercihleriniz ve gereksinimleriniz belirleyecektir.

 

June 27, 2020

Linux Mint 20 "Ulyana" XFCE Çıktı

Linux Mint ekibi Linux Mint 20 "Ulyana" XFCE sürümünü yayınladı. Linux Mint 20 LTS desteğine sahip olan sürüm 2025'e kadar desteklenecek. Güncellenmiş yazılımları ve yeni özellikleri içerisinde barındıran bu sürüm, kullanımınızı daha rahat hale getiriyor. Bu yeni sürümde birçok geliştirme mevcut. Bunların neler olduğunu şu adresten öğrenebilirsiniz. Linux Mint 20 "Ulyana" XFCE

Linux Mint 20 "Ulyana" MATE Çıktı

Linux Mint ekibi Linux Mint 20 "Ulyana" MATE sürümünü yayınladı. Linux Mint 20 LTS desteğine sahip olan sürüm 2025'e kadar desteklenecek. Güncellenmiş yazılımları ve yeni özellikleri içerisinde barındıran bu sürüm, kullanımınızı daha rahat hale getiriyor. Bu yeni sürümde birçok geliştirme mevcut. Bunların neler olduğunu şu adresten öğrenebilirsiniz. Linux Mint 20 "Ulyana" MATE Sistem

Linux Mint 20 “Ulyana” Cinnamon Çıktı

Linux Mint ekibi Linux Mint 20 "Ulyana" Cinnamon sürümünü yayınladı. Linux Mint 20 LTS desteğine sahip olan sürüm 2025'e kadar desteklenecek. Güncellenmiş yazılımları ve yeni özellikleri içerisinde barındıran bu sürüm, kullanımınızı daha rahat hale getiriyor. Bu yeni sürümde birçok geliştirme mevcut. Bunların neler olduğunu şu adresten öğrenebilirsiniz. Linux Mint 20 "Ulyana"

Linux: Ubuntu 20.04’te Dock’u Devre Dışı Bırakma ve Daha Fazla Ekran Alanı Kazanma

Untiy’den beri, sol taraftaki başlatıcı(Dock), Ubuntu masaüstünün kimliği haline geldi.Ubuntu GNOME’a geçiş yaptıktan sora da, sol taraftaki Dock benzer şekilde çatallanarak varlığını korudu.

Kendi adıma, hem görüntü hem de kullanışlılık olarak çok hoşlanmıyorum.Fazladan yer kaplaması da cabası…Tam tersini düşünen kullanıcılara da saygı duyduğumu belirterek, Ubuntu 20.04’te Dock’u kolayca devre dışı bırakabilirsiniz.(Ubuntu’nun bu görünümünden hoşlanmayanlar için, buradaki yazımızda Ubuntu’ya normal gnome oturumu yüklemeye değinmiştik.)

1-Ubuntu Dock’u Uzantılar Uygulamasıyla Devre Dışı Bırakma

Uzantılar uygulaması yüklü değil mi?O halde, henüz yüklemediyseniz, gnome-shell-extensions paketini yüklemeniz gerekiyor.Çünkü Uzantılar uygulaması bu paketin bir parçasıdır.

sudo apt install gnome-shell-extensions

(Ununtmayın!Bu, yalnızca Ubuntu 20.04 ve sonraki sürümlerinde bulunan GNOME 3.36 veya daha yüksek sürümler için geçerlidir.)

Uzantılar uygulamasını başlatın; Listelenen uzantıların altında Ubuntu Dock’u göreceksiniz.Dock’u devre dışı bırakmak için düğmeyi kapatmanız yeterlidir.

Değişikliğin hemen gerçekleştiğini ve Dock’un kaybolduğunu göreceksiniz.

Aynı şekilde, geri getirmek için de düğmeyi açmanız yeterlidir.

2-Ubuntu Dock’u Komut Satırı Üzerinden(Terminal) Devre Dışı Bırakma

Terminali kullanmayı seviyorsanız, Ubuntu Dock’u komut satırından da devre dışı bırakabilirsiniz.

Bir terminal açın.Terminalde, aşağıdaki komutla kullanılabilir tüm GNOME uzantılarını listeleyin:

gnome-extensions list

Bu size benzer bir çıktı gösterecektir:

Varsayılan Ubuntu Dock uzantısı ubuntu-dock@ubuntu.com‘dur.

Bu komutu kullanarak devre dışı bırakabilirsiniz:

gnome-extensions disable ubuntu-dock@ubuntu.com

Ekranda hiçbir mesaj görüntülenmeyecektir, ancak Dock’un sol taraftan kaybolduğunu göreceksiniz.

İsterseniz, yukarıdaki komutla tekrar etkinleştirebilirsiniz, ancak bu sefer elbette enable seçeneğiyle:

gnome-extensions enable ubuntu-dock@ubuntu.com

Touchpad tek tık ile nasıl açılır-kapanır?

Kendim masaüstü kullandığım için böyle bir şeye ihtiyaç duymadım, ancak ihtiyaç duyanlar için işe yarayacağını umuyorum. Touchpad tek tık ile nasıl açılır-kapanır işlemi Debian 10'da denenmiştir, Debian tabanlı diğer dağıtımlar için de geçerli olduğunu düşünüyorum. Tek tık ile Touchpad açma/kapama ihtiyacı duyuyorsanız bu işlemi deneyebilirsiniz. Önce uçbirime alttaki komutu girerek küçük bir

June 25, 2020

Linux Haber: Linux Mint 20 ‘Ulyana’ İndirmeye Sunuldu

Kod adı ‘Ulyana’ olan Linux Mint 20 artık indirmeye sunuldu.Artık popüler Ubuntu tabanlı masaüstü Linux işletim sisteminin en son kararlı sürümü olan Linux Mint 20’yi indirebilirsiniz.

Linux Mint 20, 25 Haziran 2020’de yayınlandı.Bu sürüm, bir uzun vadeli bir destek sürümüdür(LTS).Bu da, Linux Mint 20’nin 2025’e kadar destekleneceği anlamına geliyor.

Önceki sürümlerden farklı olarak, Linux Mint 20 sadece 64-bit mimarisi ile gelmektedir ve 32-bit sürüm yoktur.Bu da, 32-bit kullanan kullanıcılar sistemlerini Linux Mint 20’ye yükseltemeyecekler demektir.

Elbette 32-bit kullanmak isteyen yada 32-bit desteğe ihtiyaç duyan herkes Linux Mint 19.x serilerini kullanmaya devam edebilir. Bu sürümler de, önemli ve kritik uygulama güncellemeleriyle birlikte 2023 yılına kadar destekleneceklerinden, kullanıcın donanım yükseltme aşamasında bolca zamanı olacak.

Linum Mint 20 ‘Ulyana’ Cinnamon, Mate ve Xfce sürümlerini indirmek için bu indirme sayfasından yararlanabilirsiniz.

 

Arandr nasıl kullanılır?

Arandr yazılımı iki görev yapar, ekran çözünürlüğü scripti oluşturur ve mevcut çözünürlükleri anlık olarak uygular. Şayet bize lazım olan çözünürlük üzerinde mevcut değilse onu uygulamaz. Ancak yine onun oluşturduğu script içeriğinden değişiklik yaparak istediğimiz çözünürlüğü sağlayabiliriz. Eğer sisteminizdeki araçlarla istediğiniz ekran çözünürlüğü elde edemiyorsanız Arandr ile yapacağımız

June 24, 2020

Debian Buster sürümüne Virtualbox nasıl kurulur?

Virtualbox geliştiricilerine birlikte çalışma önerisinde bulunan Debian geliştiricileri olumsuz yanıt alınca güvenlik açısından ve haklı olarak Virtualbox yazılımını Debian'ın ana deposundan kaldırdılar. Bu da doğal olarak Debian Stable tabanıyla uyuşma riski taşımasıyla birlikte kurulum için bildiğimiz yöntemler de işe yaramadı. Alternatif yazılımlar ise benim hiç hoşuma gitmedi, sanal

June 23, 2020

Arandr nasıl kullanılır?

Bilindiği gibi, Debian Türkiye Forum’un değerli bir üyesi, değerli arkadaşımız Vedat Kılıç; uzun zamandır kendine özgü ISO kalıpları hazırlıyor. Vedat, bunları kendisine ait olan gnulinuxfree.blogspot.com üzerinden yayımlıyor. Bilindiği gibi, daha geniş bir çevreye duyurulması amacıyla bu çalışmaları forum üzerinden ve buradan da sizlere duyurmaya çaba gösteriyoruz. Vedat Kılıç‘ın en son yazdığı “Arandr nasıl kullanılır?” başlıklı yazı, eminim sizinle de bir biçimde alakalı olcaktır. Bu nedenle, yazıyı buraya da almayı uygun gördük. Kılıç, yazısına şu şekilde başlıyor:”Arandr yazılımı iki görev yapar, ekran çözünürlüğü scripti oluşturur ve mevcut çözünürlükleri anlık olarak uygular. Şayet bize lazım olan çözünürlük üzerinde mevcut değilse onu uygulamaz. Ancak yine onun oluşturduğu script içeriğinden değişiklik yaparak istediğimiz çözünürlüğü sağlayabiliriz. Eğer sisteminizdeki araçlarla istediğiniz ekran çözünürlüğü elde edemiyorsanız Arandr ile yapacağımız işlem çözüm olabilir.

Yapacağımız işlem bütün dağıtımlar ve bütün ekran kartları için geçerlidir. Hangi dağıtım ve hangi ekran kartı olursa olsun bu işlemi deneyebilirsiniz, herhangi bir yan tesiri yoktur. Bu nedenle önce kullandığınız sistemin paket yöneticisinden kurmanız gerekiyor.
Örneğin, Debian/Ubuntu tabanlarında alttaki komutla kurabilirsiniz.
sudo apt install arandr
Bütün dağıtımlarda kurulum komutunun sonuna arandr yazmanızla kurulur. Kurulumdan sonra sistem menüsündeki simgesine tıklayarak çalıştırabilirsiniz. Pencere açıldığında üst resimdeki gibi görüntü gelir. Arandr bilgisayarınızda bağlı ekran girişlerini algılar ve bunu HDMI1, VGA1 veya daha başka girişleri adıyla gösterir. İster bütün girişleri tek bir scripte isterse tek girişi bir scripte oluşturabilirsiniz, fark etmez. Eğer bir girişi oluşturmak isterseniz alttaki resimdeki gibi Etkin tikini boş bırakarak sadece kullanmak istediğinizi etkin yapabilirsiniz.”

“Örneğin bende HDMI1 ve VGA1 girişi var, VGA1 Etkin tikini boş bırakınca alttaki resimdeki gibi sadece HDMI1 göründü. Buna göre ne gibi bir seçim yaptıysanız ardından Farklı Kaydet tuşuna tıklıyorsunuz. Bir isim vermeniz için açılan pencereye ekran yazıyor ve kaydediyorsunuz.”

“Burada Arandr ile işimiz bitti, pencereyi kapatabilirsiniz. Bu işlemle /home/kullanıcı dizininde .screenlayout adında bir dizin ve bu dizin içinde ekran.sh adında bir script oluştu. Dosya yöneticisini açın, ctrl+h tuşlarıyla gizlileri görünür yapın ve /home/kullanıcı/.screenlayout/ekran.sh dosyasını bir metin editörü ile açın. Dosya içeriği birebir değilse de alttakine benzer olacaktır.
Bizi ilgilendiren kısım yeşil çizgi ile işaretlediğim ekran çözünürlüğü kısmıdır.”

1440×900 yazan yerde sizde farklı çözünürlükler yazabilir. Burayı istediğiniz çözünürlük ile değiştirebilirsiniz. Örneğin benim ekranın çözünürlüğü normalde 1920×1080 çözünürlüktür, ancak kenarlarda taşmayı dengelediği için 1440×900 yaptım.

Belirlediğim yerden istediğiniz ekran çözünürlüğünü yazdıysanız, dosyayı kaydedin ve kapatın. Ardından uçbirimi açın alttaki komut ile çalışma izni verin.
chmod a+rwx $HOME/.screenlayout/ekran.sh
Şu anda Arandr ve script ile işimiz bitti.
Ancak dosyayı ve çözünürlüğü denemek gerekiyor.
Bunun için uçbirime alttaki komutu girin.
sh -c "$HOME/.screenlayout/ekran.sh"
Bu komut ile ekranınız bir anlık kararır ve istediğiniz çözünürlükte olduysa işlem olumlu sonuç verdi demektir.
Eğer işlemi hatasız yapmanıza rağmen olmadıysa bu işlem işe yaramadı demektir.
İşe yaradıysa devam edelim.

Sistem her açılışta dosyanın çalışması için önce alttaki komutu uçbirime girin.
mkdir ~/.config/autostart
autostart dosyası varsa “işlem gerçekleşmedi, aynı dosya zaten var” der, aynı dosya yoksa bir şey demez.

Son olarak alttaki komutu olduğu gibi uçbirime girin.
echo '[Desktop Entry]
Type=Application
Name=ekran
Icon=computer
TryExec=ekran.sh
Exec=sh -c "$HOME/.screenlayout/ekran.sh"
StartupNotify=false
NoDisplay=true
Terminal=false' | tee ~/.config/autostart/ekran.desktop

Bu komutla oluşturduğumuz ekran.desktop dosyası sistem her açılışta oluşturduğunuz scripti çalıştıracaktır.

Arandr yazılımının kullanımı ve ekran çözünürlüğü scripti oluşturma işlemi bu kadar, umarım işinizi görür, kolay gelsin.”

gnulinuxfree.blogspot.com

June 22, 2020

İrdelemeler: KDE Plasma’yı Masaüstü Ortamınız Olarak Kullanmak İçin En İyi 10 Neden

Linux, çok çeşitli masaüstü ortamlarına sahiptir; GNOME, Cinnamon, MATE, XFCE vb.Bu yazımızda, Linux kullanıcıları arasında oldukça popüler olan KDE masaüstü ortamına bir göz atıyoruz ve KDE kullanmak için en iyi on nedeni sıralıyoruz.KDE, en fonksiyonel Linux masaüstü ortamlarından biridir.

KDE masaüstü ile daha önceki sürümlerinde bir bir ilişkiniz olduysa, 4. sürüme geçmesi ile birlikte muhtemelen; benim gibi; kopmuşsunuzdur.Çünü 2008’de KDE 4 yayınlandığında, birçok sorunla birlikte geldi.Hatalardan düşük kaliteli özelliklere ve düşük performansa kadar.Eğer süreç içerisinde geliştirmeler ve bunlara bağlı küçük sürümler olmasaydı, KDE masaüstü belki de yavaş yavaş unutulma doğru yol alabilirdi.

Ancak zaman içerisinde KDE öyle güzel geliştirildi ve öyle bir gelişime uğradı ki, en güzel ve kullanışlı masaüstü ortamlarından biri haline geldi.Bu bağlamda, KDE Plasma’yı masaüstü ortamınız olarak kullanmak için öne sürülebilecek en iyi on nedeni sıralayalım istedik.

1. KDE Dosya Yöneticisi (Dolphin)

Cinnamon için Nemo, GNOME için Nautilus, Xfce için Thunar veya MATE için Caja…KDE masaüstü ortamı için varsayılan dosya yöneticisi de Dolphin’dir.Herhangi bir özelleştirme yapmadan bile güzel bir görünüme sahiptir. Dosyalarınızı, sıkışık görünüm kipi, ayrıntılı görünüm kipi ve simge görünümü kipi şeklinde görüntüleyebileceğiniz üç kip sunar. Ayrıca, pencereyi birden çok bölüme ayırmanıza izin verir.Bu özellik, bir pencerede iki veya daha fazla dizin içeriğini görmenizi sağlar.

2. KDE Bağlantısı(KDE Connect)

KDE Bağlantısı(KDE Connect), bilgisayarınız ile cep telefonunuz arasında iletişim sağlamaya yarayan bir özelliktir.KDE Connect’in yapmanıza izin verdiği şeylerden bazıları:

*Bilgisayardan, gelen telefon bildirimlerini görme ve kısa mesajları yanıtlama.
*Telefonda çalan müziği bilgisayardan kontrol eme.
*Telefonu bilgisayar için bir uzaktan kumanda aracı olarak kullanma.
*Bağlı cihazlar arasında dosya gönderme ve alma.
*Bilgisayarın ses seviyesini telefondan uzaktan kontrol etme.

3. Güzel Görünüm

Güzellik göreceli bir kavram olmasına rağmen, çoğu Linux kullanıcısı KDE Plazma’nın en güzel Linux Masaüstü ortamlarından biri olduğu konusunda hemfikir olacaktır.Elbette renk tonları, pencereler ve widget’lar, animasyonlar ve çok daha fazlası sayesinde. Tüm bu özelliklerin birleşimi, KDE’ye şahane bir görünümü kazandırır.

4. Özelleştirilme Yeteneği

KDE’ninen güzel yönlerinden biri, hemen hemen her şeyi beğeninize göre özelleştirebilmenizdir.Tüm Linux masaüstü ortamları arasında, KDE en özelleştirilebilirlik konusunda ilk sıralarda yer alabilir. İşin güzel yanı, tüm bunların tek bir yerden, Sistem Ayarları’ndan yapılmasıdır.

5. Performans

KDE’nin şu anki performansı, önceki sürümleriyle kıyaslanamayacak kadar iyidir.Geliştirici ekip, KDE performansını geliştirmek için büyük çaba harcadı.Artık diğer tüm masaüstü ortamları kadar hızlıdır.

6. Kullanım Kolaylığı

Pek çok özelleştirme özelliğine sahip olmasına rağmen KDE, yeni başlayanlar için bile kullanımı kolay bir masaüstü ortamı sunar. Basit bir akış sağlayan basit özelliklere sahiptir. Uygulamalarınızı uygulama menüsünden veya krunner’dan başlatabilirsiniz. Uygulama menüsünden belirli bir uygulama için arama da yapabilirsiniz.Masaüstüne sağ tıklayarak diğer özelliklere de erişebilirsiniz.

7. Widget’lar ve Çoklu Masaüstü

KDE plazma, neredeyse tüm sistem bilgilerini ve süreçlerini gösteren widget’larla birlikte gelir.Böylece KDE, beğeninize ve zevkinize göre özelleştirme yapmanıza olanak sunar.Çoklu masaüstü özelliği de kullanım açısından ayrı bir fonksiyonellik sunar.

8. Entegrasyon(Uyum,Bütünleşme)

KDE, en entegre özelliklere sahip masaüstü ortamlarından birisidir.KDE Grafik Kullanıcı Arayüzü(KDE GUI), GTK ve QT’nin bir entegrasyonudur. Bu da şüphesiz KDE’nin şahane görünümünün altında yatan nedenlerden biridir. Bir başka entegre özellik, KDE’nin Android ile sorunsuz bir şekilde gösterdiği uyumdur.Bu sayede ek araçlar yüklemeden telefonunuzu KDE Connect ile bilgisayarınıza bağlayabilirsiniz.

9. Konsole(Terminal, Uçbirim)

Konsole, KDE masaüstü ile birlikte gelen varsayılan terminaldir. Konsole birden fazla profille çalışma imkanı, yer işaretlerinin kullanımı, yatay veya dikey olarak bölme, tema kullanımı ve bunlardan çok daha fazlasını sunar.

10. Varsayılan Uygulamalar

Diğer tüm masaüstü ortamlarında olduğu gibi, KDE de bazı arsayılan uygulamarla birlikte gelir. Konsole, Dolphin dosya yöneticisi, KDE Connect, Spectacle (Ekran görüntüsü yardımcı programı), Gwenview resim görüntüleyici, Falkon web tarayıcısı, Konversation IRC sohbet istemcisi, KTorrent torrent istemcisi…Hatta bu uygulamalardan bazıları mevcut olan en iyiler arasındadır(Kdenlive, Krita gibi.)

Sonuç

KDE Plasma, son haliyle denenmeyi sonuna kadar hak ediyor.Sizce de öyle değil mi?

June 20, 2020

İlledelinux Debian Openbox kullanıma hazır

İlledelinux Debian Openbox kullanıma hazır. Bu sürüm Technopat sitesinin GNU/Linux bölümünde kullanıcıların öneri ve görüşleri doğrultusunda inşa edildi. Öneride bulunan ve görüşlerini esirgemeyen arkadaşlara teşekkür ederim. Bu sürümü biraz geniş anlatmak gerekiyor, çünkü yeni kullanıcıların Openbox bilgisi yeterli olmayabilir. Temel bilgiler ve paketler. Debian Buster Stable tabanlı. 64bit

June 17, 2020

Linux’te Laptop Pil Ömrü Nasıl Arttırılır?

TLP, Linux için özellik açısından zengin bir komut satırı yardımcı programıdır ve teknik ayrıntılara daha derinlemesine bakmaya gerek kalmadan dizüstü bilgisayar pil gücünden tasarruf sağlar. TLP’yi kurmak için aşağıdaki komutu terminalde çalıştırın. sudo apt install tlp Not: TLP’yi kurduktan sonra aşağıdaki işlemleri yapmayabilirsiniz. TLP’nin varsayılan ayarları zaten pil ömrü için

Linux Kernel 5.8 "Tüm Zamanların En Büyük Sürümlerinden Biri" Olacak

Linux Kernel 5.7’nin çıkışından iki hafta sonra, Linux Kernel 5.8 RC sürümünün genel testleri başladı. Linus Torvalds’a göre Linux Kernel 5.8, “Tüm zamanların en büyük sürümlerinden biri” olacak.  “Linux Kernel 4.9 ile neredeyse aynı olduğunu ve mimari, dosya sistemleri, sürücüler ve belgeler de dahil olmak üzere tüm bileşenlerde yeni özellikler ve geliştirmeler için çok fazla geliştirme

June 16, 2020

İrdelemeler: “Körü Körüne Yuvarlanmayan” Yuvarlanan Dağıtım Manjaro Kullanmak İçin On Neden

Başlık karmaşık geldi, aklınızı mı karıştırdı?O halde yazıyı okuyun.Ne demek istediğimi yazıyı okuyunca daha iyi anlayacaksınız.

Manjaro’nun bu kadar popüler olmasının ana nedenlerinden biri kökenleriyle ilgilidir. Manjaro, taban olarak Arch Linux’a dayanır ve Arch Linux’un birçok ögesini miras olarak almasına karşın, çok farklı bir projedir.

Arch Linux’tan farklı olarak, Manjaro’da neredeyse her şey önceden yapılandırılmıştır. Bu da, onu en kullanıcı dostu Arch Linux tabanlı dağıtımlardan biri yapar ki, yeni kullanıcılar ya da elini taşın altına koymayı çok sevmeyen kullanıcılar için bu önemli bir özelliktir.Tabi ki bundan Manjaro’nun sadece yeni başlayanlar için uygun bir dağıtım olduğu anlamı çıkarılmamalıdır.Manjaro hem yeni ve deneyimsiz, hem de deneyimli kullanıcılar için gayet uygun olabilir.

Ubuntu’nun “İnsanlar için Linux” yapması gibi, Manjaro da “İnsanlar için Arch Linux” yapmıştır.

Peki Manjaro Neden “İnsanlar için Arch Linux”tur?Maddeler halinde bakalım…

1- Kolay kurulum

Arch Linux’u yüklemek birçok kullanıcı için bir kabus olabilir. Buna karşın, Calamares grafik yükleyicisi sayesinde Manjaro Linux kurmak çok daha kolaydır.

Bunun yanında, kontrolün elinizde olmasını seviyorsanız, Manjaro Architect’i kullanabilirsiniz.Manjaro Architect, uçbirim(terminal) tabanlı bir yükleyici sağlar.Arch Linux kurulumunda olduğu gibi, doğrudan komutlarla kurmaktan daha kolaydır.

2-Seçimlik masaüstü ortamları ve pencere yöneticileri

Resmi olarak Manjaro Linux, varsayılan olarak Xfce masaüstünü desteklemektedir. Manjaro Xfce, kişiselleştirme sayesinde çok şık bir görünüm sunar.Manjaro ayrıca resmi olarak GNOME ve KDE masaüstü ortamlarını da sunmaktadır.Bu da yeterli değilse, Manjaro topluluğu Awesome, Bspwm, Budgie, Cinnamon, i3, LXDE, LXQt, MATE ve Openbox gibi masaüstü ortamları ve pencere yöneticilerini hazırlar.

Manjaro Architect ile, Manjaro Linux’u kurarken istenilen masaüstü ortamı seçilip kurulabilir.

3- Yuvarlanan dağıtım, ancak “körü körüne değil”

Manjaro, istikrarlı bir yuvarlanan dağıtımdır ve güncellemeleri yayınlamadan önce bazı ek testler gerçekleştirdiği için Arch Linux’tan daha fazla test edildiği iddiasındadır.

4-Yeni donanım mı? Tek bir tık ve bitti!

Manjaro, MHWD olarak bilinen mükemmel bir donanım algılama aracı barındırmaktadır. Donanımınız için sürücülere ihtiyacınız varsa, sadece MHWD’yi açın, tıklayın ve kurulumun bitmesini bekleyin.Hepsi bu kadar.

5-Linux çekirdeklerini(kernel) değiştirme kolaylığı

İleri düzey kullanıcılar ve varsayılan çekirdek yerine ihtiyaçlarına göre çekirdek kullanmak isteyen kullanıcılar, tek bir tıklamayla farklı bir çekirdeğe geçiş yapabilirler.

RT(Gerçek Zamanlı) Çekirdek, bir multimedya kullanıcısı ve uygulamalar için gerçek zamanlı özellikler sağlar.

LTS(Uzun Süreli Destek) çekirdeği, istikrarın önceliğiniz olması durumunda seçmeniz gereken çekirdektir.

Güncel Çekirdek, en yeni özelliklere sahip çekirdektir ve her zaman en yeni donanımı destekler.

6- Arch Kullanıcı Deposuna (AUR) erişim

Manjaro kullanıyorsanız, Arch Kullanıcı Depos’na (AUR) erişebilirsiniz. AUR mükemmel bir depodur.Kesinlikle her zaman en yeni paketlerle doludur.

7- Pamac Yazılım Yöneticisi’nde Snap ve Flatpak desteği

Pamac Yazılım Yöneticisi’nde, Snap ve Flatpak desteği varsayılan olarak etkinleştirilmiştir.Pamac kullanıcı arayüzüyle(GUI) veya uçbirimde(terminal) snap veya flatpak paketeri kurabilir ve daha geniş uygulamalara erişebilirsiniz.

8- Global yansı desteği

Manjaro, yansı olarak bilinen çok sayıda sunucuya sahiptir ve size en yakın olanı seçebilirsiniz.

9- ZFS dosya sistemi desteği

İlgiliyseniz, ZFS dosya sistemini Manjaro 20.0 Lysia’da kullanabilirsiniz.

10- Manjaro Hello

En sevdiğim özelliği en sona sakladım.Manjaro Hello ile sistemin başlangıçta çok kolay bir şekilde yapılandırılabilir olması kullanıcı için çok büyük bir konfor sağlamaktadır.

Sonuç

Manjaro, yeni uygulamaları ve özellikleri sunmadan önce bir miktar geçiktirerek, riskin çoğunu bertaraf etmeyi amaçlar.Böylece “Körü körüne yuvarlanmayan” dağıtım, Arch Linux deneyimini daha az sorunla sunarak övgüyü hak etmektedir.

June 15, 2020

Debian Buster sürümüne Steam nasıl kurulur?

İnternet üzerinden ücretli-ücretsiz, sayısız ve sınırsız oyun oynama imkanı sunan Steam'da oyun oynamak için önce onu sisteme kurmamız gerekiyor. Debian'ın ana deposunda olmadığı için farklı yöntem uygulayacağız.Önce uçbirimi açın, mousepad yerine kullandığınız metin editörü adını yazın ve alttaki komutla sources.list dosyasını açın.sudo mousepad /etc/apt/sources.listAçılan dosyada geçen her

Debian Buster sürümüne Steam nasıl kurulur?

Bilindiği gibi, Debian Türkiye Forum’un değerli bir üyesi, değerli arkadaşımız Vedat Kılıç; uzun zamandır kendine özgü ISO kalıpları hazırlıyor. Vedat, bunları kendisine ait olan gnulinuxfree.blogspot.com üzerinden yayımlıyor. Bilindiği gibi, daha geniş bir çevreye duyurulması amacıyla bu çalışmaları forum üzerinden ve buradan da sizlere duyurmaya çaba gösteriyoruz. Vedat Kılıç‘ın en son yazdığı “Debian Buster sürümüne Steam nasıl kurulur?” başlıklı yazı, eminim sizinle bir biçimde alakalı olcaktır. Bu nedenle, yazıyı buraya da almayı uygun gördük. Kılıç, yazısına şu şekilde başlıyor: “İnternet üzerinden ücretli-ücretsiz, sayısız ve sınırsız oyun oynama imkanı sunan Steam’da oyun oynamak için önce onu sisteme kurmamız gerekiyor. Debian’ın ana deposunda olmadığı için farklı yöntem uygulayacağız.

Önce uçbirimi açın, mousepad yerine kullandığınız metin editörü adını yazın ve alttaki komutla sources.list dosyasını açın.

sudo mousepad /etc/apt/sources.list

Açılan dosyada geçen her satırın sonuna alttaki örnekte olduğu gibi contrib non-free yazılarını ekleyin, dosyayı kaydedin ve pencereleri kapatın.

deb http://deb.debian.org/debian/ buster main contrib non-free#deb-src http://deb.debian.org/debian/ buster main contrib non-freedeb http://security.debian.org/debian-security buster/updates main contrib non-free#deb-src http://security.debian.org/debian-security buster/updates main contrib non-freedeb http://deb.debian.org/debian/ buster-updates main contrib non-free#deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free

Ardından uçbirimi açın, alttaki komutla root olun.

sudo -i

Son olarak birden çok komutu tek komut haline getirdiğim alttaki komutun tamamını uçbirime girin.

sh -c "sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F24AEA9FB05498B7 ; sudo apt update ; sudo dpkg --add-architecture i386 ; sudo apt update ; echo 'deb [arch=amd64,i386] http://repo.steampowered.com/steam/ precise steam' | sudo tee /etc/apt/sources.list.d/steam.list ; sudo apt update ; sudo apt install steam-launcher xterm -y ; sudo apt --fix-broken install -y ; sudo echo 'y' | apt install -f"

Bu komuttan sonra Steam kurulmuş olacak ve sistem menüsüne simgesi gelmiş olacaktır.

gnulinuxfree.blogspot.com

Debian Buster sürümüne Virtualbox nasıl kurulur?

Bilindiği gibi, Debian Türkiye Forum’un değerli bir üyesi, değerli arkadaşımız Vedat Kılıç; uzun zamandır kendine özgü ISO kalıpları hazırlıyor. Vedat, bunları kendisine ait olan gnulinuxfree.blogspot.com üzerinden yayımlıyor. Bilindiği gibi, daha geniş bir çevreye duyurulması amacıyla bu çalışmaları forum üzerinden ve buradan da sizlere duyurmaya çaba gösteriyoruz. Vedat Kılıç‘ın en son yazdığı “Debian Buster sürümüne Virtualbox nasıl kurulur?” başlıklı yazı, eminim sizinle bir biçimde alakalı olcaktır. Bu nedenle, yazıyı buraya da almayı uygun gördük. Kılıç, yazısına şu şekilde başlıyor: “Virtualbox geliştiricilerine birlikte çalışma önerisinde bulunan Debian geliştiricileri olumsuz yanıt alınca güvenlik açısından ve haklı olarak Virtualbox yazılımını Debian’ın ana deposundan kaldırdılar. Bu da doğal olarak Debian Stable tabanıyla uyuşma riski taşımasıyla birlikte kurulum için bildiğimiz yöntemler de işe yaramadı. Alternatif yazılımlar ise benim hiç hoşuma gitmedi, sanal makineden ziyade işkence makineleri desem herhalde yeridir. Kimine onlarca komut giriyorsun iso kalıbını beğenmiyor, kiminin penceresi var ortada kendisi yok. Bu yüzden yine en iyi seçenek şimdilik Virtualbox olarak görünüyor. Sizin de sanal makine ihtiyacınız varsa ve Virtualbox diyorsanız, zar-zor ve deneme-yanılma ile bulduğum yönteme başlayalım.

Önce uçbirimi açın, mousepad yerine kullandığınız metin editörü adını yazın ve alttaki komutla sources.list dosyasını açın.

sudo mousepad /etc/apt/sources.list

Açılan dosyada geçen her satırın sonuna alttaki örnekte olduğu gibi contrib non-free yazılarını ekleyin, dosyayı kaydedin ve pencereleri kapatın.
deb http://deb.debian.org/debian/ buster main contrib non-free
#deb-src http://deb.debian.org/debian/ buster main contrib non-free
deb http://security.debian.org/debian-security buster/updates main contrib non-free
#deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
#deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free

Ardından uçbirime açın, alttaki komutla root olun.
sudo -i

Virtualbox kurulumu için ayrıca işi kolaylaştırdım, komutları uçbirime tek tek girmek yerine alttaki komutu hepsini bir defa uçbirime girmenizle Virtualbox kurulacaktır.

sh -c "wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - ; wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - ; echo 'deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian buster contrib' | sudo tee /etc/apt/sources.list.d/virtualbox.list ; sudo apt-get update ; sudo apt-get install virtualbox-6.1 -y ; echo 'y' | sudo apt install -f"

Bu komuttan sonra hemen çalıştırırsanız sisteme tam entegre olmadığı için hata uyarısı verebilir, bu yüzden bilgisayarı yeniden başlatın. Debian Buster sürümüne Virtualbox kurulum işlemi bu kadar, aynı şekilde defalarca kurdum, hiç birinde sorun yaşamadım, umarım siz de sorun yaşamadan kullanırsınız.

gnulinuxfree.blogspot.com

June 14, 2020

Linux Mint 20 "Ulyana" XFCE Beta Çıktı

Linux Mint ekibi Linux Mint 20 "Ulyana" XFCE Beta sürümünü yayınladı. Linux Mint 20 LTS desteğine sahip olan sürüm 2025'e kadar desteklenecek. Güncellenmiş yazılımları ve yeni özellikleri içerisinde barındıran bu sürüm, kullanımınızı daha rahat hale getiriyor. Bu yeni sürümde birçok geliştirme mevcut. Bunların neler olduğunu şu adresten öğrenebilirsiniz. Linux Mint 20 "Ulyana" XFCE

Linux Mint 20 "Ulyana" MATE Beta Çıktı

Linux Mint ekibi Linux Mint 20 "Ulyana" MATE Beta sürümünü yayınladı. Linux Mint 20 LTS desteğine sahip olan sürüm 2025'e kadar desteklenecek. Güncellenmiş yazılımları ve yeni özellikleri içerisinde barındıran bu sürüm, kullanımınızı daha rahat hale getiriyor. Bu yeni sürümde birçok geliştirme mevcut. Bunların neler olduğunu şu adresten öğrenebilirsiniz. Linux Mint 20 "Ulyana" MATE

Linux Mint 20 “Ulyana” Cinnamon BETA Çıktı

Linux Mint ekibi Linux Mint 20 "Ulyana" Cinnamon Beta sürümünü yayınladı. Linux Mint 20 LTS desteğine sahip olan sürüm 2025'e kadar desteklenecek. Güncellenmiş yazılımları ve yeni özellikleri içerisinde barındıran bu sürüm, kullanımınızı daha rahat hale getiriyor. Bu yeni sürümde birçok geliştirme mevcut. Bunların neler olduğunu şu adresten öğrenebilirsiniz. Linux Mint 20 "Ulyana"

June 10, 2020

İrdelemeler: Cinnamon’u Favori Masaüstü Ortamınız Olarak Kullanmanız İçin 10 Neden

Cinnamon, Linux Mint dağıtımının amiral gemisi masdaüstü ortamıdır.Bu makalede, Cinnamon’u neden masaüstü ortamınız olarak kullanmanız gerektiğine değiniyoruz.

Gnome 3’ün 2011’de piyasaya sürülmesiyle, kullanıcılardan ve geliştiricilerden oldukça karmaşık tepkiler geldi.Çoğu, çatallanan orijinal Gnome’u(MATE) tercih etti.Bu çatallardan biri de Cinnamon’du. Cinnamon, 2.0 sürümüne ulaşmasından bu yana, kendi başına bir masaüstü ortamı haline geldi.

Çoğu insan Cinnamon’u duyduğunda, aklına gelen ilk dağıtım Linux Mint’tir. Çünkü Linux Mint ekibi Cinnamon masaüstü ortamını geliştirdi ve Linux Mint’te amiral gemisi masaüstü ortamı olarak kullandı. Ancak, Cinnamon artık diğer Linux dağıtımlarının da tercih edip kullanıcılarına sundukları bir masaüstü haline gelmeyi başardı.

Bu yazıda, Cinnamon’u masaüstü ortamınız olarak kullanmanız için önde gelen nedenlere göz atacağız. Cinnamon’u en saf haliyle deneyimlemenin en iyi yolu, Linux Mint Live USB sürücüsü oluşturmak ve denemektir. Elbette bundan başka, kullandığınız favori dağıtımınıza da kurarak kullanabilirsiniz.

1. Şahane Kullanıcı Arayüzü(GUI)

Kullanıcı arayüzü, herhangi bir Linux dağıtımında önemli bir etken.Sadece güzel masaüstü görünümü nedeniyle belirli bir dağıtımı tercih eden kullanıcılar bile mevcut ve Cinnamon da bunlardan biri.Cinnamon masaüstünde gereksiz simgeler ve kısayollar bulunmuyor. Tüm bunları ve çok daha fazlasını Sistem Ayarları’nı kullanarak ve ardından Masaüstü menüsüne giderek yapılandırabilirsiniz.

2. Masastü Uygulamacıkları(Desklets) Kullanımı

Desklet dediğimiz şeyler; erişim kolaylığı için masaüstünüze eklediğiniz tek amaçlı uygulamalardır. Cinnamon, hava durumu uygulaması, masaüstü fotoğraf çerçevesi uygulaması, saat ve tarih, yapışkan notlar, CPU veya disk monitörleri gibi çeşitli tek amaçlı uygulamalar sunar.

3. Hız

Cinnamon, birlikte kullanıldığı hemen her dağıtımda sorunsuz çalışır ve uygulamaları hızlı ve kolay bir şekilde başlatabilir.Oturum açıldıktan sonra yüklenme işlemi zaman almaz.Cinnamon, özellikle düşük bütçeli PC’ler için donanım dostudur.(Her ne kadar her yeni sürümüyle birlikte biraz daha fazla kaynağa ihtiyaç duyuyor olsa da!) Cinnamon, Desklets gibi ek uygulamalar çalıştırmadığınız sürece PC’nizde sorunsuz çalışacaktır.

4. Yüksek Uyumluluk

Linux masaüstü ortamlarında, her birine ait özel uygulamalar olduğunu göreceksiniz. Örneğin, gnome-screenshot’u KDE, Mate veya Budgie gibi başka bir ortama yüklemek istediğinizde, eğer söz konusu ortam gnome-screenshot’un gerekli kütüphanelerini sağlamıyorsa, yüklenmesi neredeyse imkansız olacaktır. Neyse ki Cinnamon’un kütüphanelerle güçlü entegrasyonu, işleri çok daha iyi hale getirmektedir.Böylece çoğu uygulama, yazıldığı masaüstü ortamından bağımsız olarak yüklenebilir.Zira Cinnamon, KDE, Gnome ve diğer masaüstü ortamlarının tüm kütüphanelerini destekler.

5. İleri Derece Özelleştirilebilirlik

Cinnamon güzel bir kullanıcı arayüzüne sahip olacak kadar iyi bir özelleştirmeme imkanı sunar.Kontrol merkezi(SistemAyarları), tüm Cinnamon masaüstü yapılandırmalarına erişmenize olanak verir.

6. Cinnamon Paneli

Cinnamon paneli veya araç çubuğu çok basit bir şekilde yapılandırılmış olarak gelir.Sık kullanılan uygulamalar, sistem tepsisi ve uygulama seçiciyi açan bir menü… Ancak, paneli beğeninize göre özelleştirebilirsiniz.

7. Birden Çok Çalışma Alanının Kullanımı

Diğer Linux masaüstü ortamlarında olduğu gibi, Cinnamon birden fazla ‘çalışma alanı’ kullanmanıza izin verir. Çalışma alanlarınızı, her çalışma alanında bulunan pencerelerin ana hatlarını gösteren Cinnamon panelinden seçersiniz.Çalışma alanlarındaki Cinnamon ile ilgili harika bir özellik, uygulamaları çalışma alanları arasında taşıyabilmeniz veya mevcut her çalışma alanına atayabilmenizdir.

8. Esneklik
Cinnamon masaüstü ortamı, Grafik Kullanıcı Arayüzündeki(GUI) yüksek esneklik sayesinde kullanımı ve gezinmeyi oldukça kolay ve zevkli hale getirir.

9. Nemo

Diğer tüm masaüstü ortamları gibi Cinnamon, kendine has uygulamalarla birlikte gelir.Bunlardan birisi de dosya yöneticisi Nemo’dur. Nemo temiz bir kullanıcı arayüzü ile birlikte gelir ve özellik düğmeleri ergonomik bir şekilde yerleştirilmiştir. Bu da kullanımda üst seviye konfor sunar.

10. Kararlılık

Cinnamon her ne kadar bir Gnome çatalı olarak yola çıktıysa da, artık kurulum için Gnome’a ihtiyaç duymuyor, başlı başına bir masaüstü ortamı haline gelmiş durumda.Geliştiriciler başlangıçtan bu zamana çok fazla özellik eklediler ve Cinnamon çok kararlı bir şekilde farklı dağıtımlarda sorunsuz çalışabiliyor.

Sonuç

Bu yazı ve daha önce burada yazmış olduğumuz Cinnamon-Gnome’u karşılaştırması ile birlikte, Cinnamon hakkında epeyce şey söylemiş olduk.Artık bir şansı hak ettiğini düşünüyorum, ne dersiniz?

NumPy where tutorial (With Examples)

Looking up for entries that satisfy a specific condition is a painful process, especially if you are searching it in a large dataset having hundreds or thousands of entries. If you know the fundamental SQL queries, you must be aware of the ‘WHERE’ clause that is used with the SELECT statement to fetch such entries from a relational database that satisfy certain conditions. NumPy offers similar functionality to find such items in a NumPy array that satisfy a given Boolean condition through its ‘where()‘ function — except that it is used in a slightly different way than the SQL SELECT statement with the WHERE clause. In this tutorial, we’ll look at the various ways the NumPy where function can be used for a variety of use cases. Let’s get going.

A very simple usage of NumPy where

Let’s begin with a simple application of ‘np.where()‘ on a 1-dimensional NumPy array of integers.
We will use ‘np.where’ function to find positions with values that are less than 5.

We’ll first create a 1-dimensional array of 10 integer values randomly chosen between 0 and 9.

import numpy as np

np.random.seed(42)

a = np.random.randint()

print("a = {}".format(a))

Output:

a = [6 3 7 4 6 9 2 6 7 4]

Now we will call ‘np.where’ with the condition ‘a < 5’ i.e we’re asking ‘np.where’ to tell us where in the array a are the values less than 5. It will return us an array of indices where the specified condition is satisfied.

result = np.where(a < 5)

print(result)

Output:

(array([1, 3, 6, 9]),)

We get the indices 1,3,6,9 as output and it can be verified from the array that the values at these positions are indeed less than 5.
Note that the returned value is a 1-element tuple. This tuple has an array of indices.
We’ll understand the reason for the result being returned as a tuple when we discuss np.where on 2D arrays.

How does NumPy where work?

To understand what goes on inside the complex expression involving the ‘np.where’ function, it is important to understand the first parameter of ‘np.where’, that is, the condition.

When we call a Boolean expression involving NumPy array such as ‘a > 2’ or ‘a % 2 == 0’, it actually returns a NumPy array of Boolean values.

This array has the value True at positions where the condition evaluates to True and has the value False elsewhere. This serves as a ‘mask‘ for NumPy where function.

Here is a code example.

a = np.array([1, 10, 13, 8, 7, 9, 6, 3, 0])

print ("a > 5:")

print(a > 5)

Output:

a > 5:
[false True True True True True True False False]

So what we effectively do is that we pass an array of Boolean values to the ‘np.where’ function which then returns the indices where the array had the value True.

This can be verified by passing a constant array of Boolean values instead of specifying the condition on the array that we usually do.

bool_array = np.array([True, True, True, False, False, False, False, False, False])

print(np.where(bool_array)

Output:

(array([0, 1, 2]),)

Notice how, instead of passing a condition on an array of actual values, we passed a Boolean array and the ‘np.where’ function returned us the indices where the values were True.

2D matrices

Now that we have seen it on 1-dimensional NumPy arrays, let us understand how would ‘np.where’ behave on 2D matrices.

The idea remains the same. We call the ‘np.where’ function and pass a condition on a 2D matrix. The difference is in the way it returns the result indices.
Earlier, np.where returned a 1-dimensional array of indices (stored inside a tuple) for a 1-D array, specifying the positions where the values satisfy a given condition.

But in the case of a 2D matrix, a single position is specified using 2 values — the row index and the column index.
So in this case, np.where will return 2 arrays, the first one carrying the row indices and the second one carrying the corresponding column indices.

Both these rows and column index arrays are stored inside a tuple (now you know why we got a tuple as an answer even in case of a 1-D array).

Let’s see this in action to better understand it.
We’ll write a code to find where in a 3×3 matrix are the entries divisible by 2.

np.random.seed(42)

a = np.random.randint(0,10, size=(3,3))

print("a =\n{}\n".format(a))

result = np.where(a % 2 == 0)

print("result: {}".format(result))

Output:

a =
[[6 3 7]
[4 6 9]
[2 6 7]

result: (array([0, 1, 1, 2, 2]], array([0, 0, 1, 0, 1]))

The returned tuple has 2 arrays, each bearing the row and column indices of the positions in the matrix where the values are divisible by 2.

Ordered pairwise selection of values from the two arrays gives us a position each.
The length of each of the two arrays is 5, indicating there are 5 such positions satisfying the given condition.

If we look at the 3rd pair — (1,1), the value at (1,1) in the matrix is 6 which is divisible by 2.
Likewise, you can check and verify with other pairs of indices as well.

Multidimensional array

Just as we saw the working of ‘np.where’ on a 2-D matrix, we will get similar results when we apply np.where on a multidimensional NumPy array.

The length of the returned tuple will be equal to the number of dimensions of the input array.
Each array at position k in the returned tuple will represent the indices in the kth dimension of the elements satisfying the specified condition.

Let’s quickly look at an example.

np.random.seed(42)

a = np.random.randint(0,10, size=(3,3,3,3)) #4-dimensional array

print("a =\n{}\n".format(a))

result = np.where(a == 5) #checking which values are equal to 5

print("len(result)= {}".format(len(result)))

print("len(result[0]= {})".format(len(result[0])))

Output:

len(result) = 4 indicates the input array is of 4 dimension.

The length of one of the arrays in the result tuple is 6, which means there are six positions in the given 3x3x3x3 array where the given condition (i.e containing value 5) is satisfied.

Using the result as an index

So far we have looked at how we get the tuple of indices, in each dimension, of the values satisfying the given condition.

Most of the time we’d be interested in fetching the actual values satisfying the given condition instead of their indices.

To achieve this, we can use the returned tuple as an index on the given array. This will return only those values whose indices are stored in the tuple.

Let’s check this for the 2-D matrix example.

np.random.seed(42)

a = np.random.randint(0,10, size=(3,3))

print("a =\n{}\n".format(a))

result_indices = np.where(a % 2 == 0)

result = a[result_indices]

print("result: {}".format(result))

Output:

a =
[[6 3 7]
[4 6 9]
[2 6 7]]

result: [6 4 6 2 6]

As discussed above, we get all those values (not their indices) that satisfy the given condition which, in our case, was divisibility by 2 i.e even numbers.

Parameters ‘x’ and ‘y’

Instead of getting the indices as a result of calling the ‘np.where’ function, we can also provide as parameters, two optional arrays x and y of the same shape (or broadcastable shape) as input array, whose values will be returned when the specified condition on the corresponding values in input array is True or False respectively.

For instance, if we call the method on a 1-dimensional array of length 10, and we supply two more arrays x and y of the same length.
In this case, whenever a value in input array satisfies the given condition, the corresponding value in array x will be returned whereas, if the condition is false on a given value, the corresponding value from array y will be returned.

These values from x and y at their respective positions will be returned as an array of the same shape as the input array.

Let’s get a better understanding of this through code.

np.random.seed(42)

a = np.random.randint(0,10, size=(10))

x = a

y = a*10

print("a = {}".format(a))

print("x = {}".format(x))

print("y = {}".format(y))

result = np.where(a%2 == 1, x, y) #if number is odd return the same number else return its multiple of 10.

print("\nresult = {}".format(result))

Output:

This method is useful if you want to replace the values satisfying a particular condition by another set of values and leaving those not satisfying the condition unchanged.
In that case, we will pass the replacement value(s) to the parameter x and the original array to the parameter y.

Note that we can pass either both x and y together or none of them. We can’t pass one of them and skip the other.

Apply on Pandas DataFrames

Numpy’s ‘where’ function doesn’t necessarily have to be applied to NumPy arrays. It can be used with any iterable that would yield a list of Boolean values.

Let us see how we can apply the ‘np.where’ function on a Pandas DataFrame to see if the strings in a column contain a particular substring.

import pandas as pd

import numpy as np

df = pd.DataFrame({"fruit":["apple", "banana", "musk melon",
"watermelon", "pineapple", "custard apple"],
"color": ["red", "green/yellow", "white",
"green", "yellow", "green"]})

print("Fruits DataFrame:\n")

print(df)

Output:

Now we’re going to use ‘np.where’ to extract those rows from the DataFrame ‘df’ where the ‘fruit’ column has the substring ‘apple’

apple_df = df.iloc[np.where(df.fruit.str.contains("apple"))]

print(apple_df)

Output:

Let’s try one more example on the same DataFrame where we extract rows for which the ‘color’ column does not contain the substring ‘yell’.

Note: we use the tilde (~) sign to inverse Boolean values in Pandas DataFrame or a NumPy array.


non_yellow_fruits = df.iloc[np.where(~df.color.str.contains("yell"))]

print("Non Yellow fruits:\n{}".format(non_yellow_fruits))

Output:

Multiple conditions

So far we have been evaluating a single Boolean condition in the ‘np.where’ function. We may sometimes need to combine multiple Boolean conditions using Boolean operators like ‘AND‘ or ‘OR’.

It is easy to specify multiple conditions and combine them using a Boolean operator.
The only caveat is that for the NumPy array of Boolean values, we cannot use the normal keywords ‘and’ or ‘or’ that we typically use for single values.
We need to use the ‘&’ operator for ‘AND’ and ‘|’ operator for ‘OR’ operation for element-wise Boolean combination operations.

Let us understand this through an example.

np.random.seed(42)

a = np.random.randint(0,15, (5,5)) #5x5 matrix with values from 0 to 14

print(a)

Output:

We will look for values that are smaller than 8 and are odd. We can combine these two conditions using the AND (&) operator.

# get indices of odd values less than 8 in a
indices = np.where((a < 8) & (a % 2==1))

#print the actual values
print(a[indices])

Output:

We can also use the OR (|) operator to combine the same conditions. This will give us values that are ‘less than 8’ OR ‘odd values’ i.e all values less than 8 and all odd values greater than 8 will be returned.

# get indices of values less than 8 OR odd values in a
indices = np.where((a < 8) | (a % 2==1))

#print the actual values
print(a[indices])

Output:

Nested where (where within where)

Let us revisit the example of our ‘fruits’ table.


import pandas as pd

import numpy as np

df = pd.DataFrame({"fruit":["apple", "banana", "musk melon",
"watermelon", "pineapple", "custard apple"],
"color": ["red", "green/yellow", "white",
"green", "yellow", "green"]})

print("Fruits DataFrame:\n")

print(df)

Output:

Now let us suppose we wanted to create one more column ‘flag’ which would have the value 1 if the fruit in that row has a substring ‘apple’ or is of color ‘yellow’. We can achieve this by using nested where calls i.e we will call ‘np.where’ function as a parameter within another ‘np.where’ call.

df['flag'] = np.where(df.fruit.str.contains("apple"), 1, # if fruit == 'apple', set 1
np.where(df.color.str.contains("yellow"), 1, 0)) #else if color has 'yellow' set 1, else set 0

print(df)

Output:

The complex expression above can be translated into simple English as:

  1. If the ‘fruit’ column has the substring ‘apple’, set the ‘flag’ value to 1
  2. Else:
    1. If the ‘color’ column has substring ‘yellow’, set the ‘flag’ value to 1
    2. Else set the ‘flag’ value to 0

Note that we can achieve the same result using the OR (|) operator.

#set flag = 1 if any of the two conditions is true, else set it to 0
df['flag'] = np.where(df.fruit.str.contains("apple") |
df.color.str.contains("yellow"), 1, 0)

print(df)

Output:

Thus nested where is particularly useful for tabular data like Pandas DataFrames and is a good equivalent of the nested WHERE clause used in SQL queries.

Finding rows of zeros

Sometimes, in a 2D matrix, some or all of the rows have all values equal to zero. For instance, check out the following NumPy array.

a = np.array([[1, 2, 0],
[0, 9, 20],
[0, 0, 0],
[3, 3, 12],
[0, 0, 0]
[1, 0, 0]])
print(a)

Output:

As we can see the rows 2 and 4 have all values equal to zero. But how do we find this using the ‘np.where’ function?

If we want to find such rows using NumPy where function, we will need to come up with a Boolean array indicating which rows have all values equal to zero.

We can use the ‘np.any()‘ function with ‘axis = 1’, which returns True if at least one of the values in a row is non-zero.

The result of np.any() will be a Boolean array of length equal to the number of rows in our NumPy matrix, in which the positions with the value True indicate the corresponding row has at least one non-zero value.

But we needed a Boolean array that was quite the opposite of this!

That is, we needed a Boolean array where the value ‘True’ would indicate that every element in that row is equal to zero.

Well, this can be obtained through a simple inversion step. The NOT or tilde (~) operator inverts each of the Boolean values in a NumPy array.

The inverted Boolean array can then be passed to the ‘np.where’ function.

Ok, that was a long, tiring explanation.
Let’s see this thing in action.

zero_rows = np.where(~np.any(a, axis=1))[0]

print(zero_rows)

Output:

Let’s look at what’s happening step-by-step:

  1. np.any() returns True if at least one element in the matrix is True (non-zero). axis = 1 indicates it to do this operation row-wise.
  2. It would return a Boolean array of length equal to the number of rows in a, with the value True for rows having non-zero values, and False for rows having all values = 0.
    np.any(a, axis=1)
    Output:

3.The tilde (~) operator inverts the above Boolean array:
~np.any(a, axis=1)
Output:

  1. ‘np.where()’ accepts this Boolean array and returns indices having the value True.

The indexing [0] is used because, as discussed earlier, ‘np.where’ returns a tuple.

Finding the last occurrence of a true condition

We know that NumPy’s ‘where’ function returns multiple indices or pairs of indices (in case of a 2D matrix) for which the specified condition is true.

But sometimes we are interested in only the first occurrence or the last occurrence of the value for which the specified condition is met.

Let’s take the simple example of a one-dimensional array where we will find the last occurrence of a value divisible by 3.

np.random.seed(42)

a = np.random.randint(0,10, size=(10))

print("Array a:", a)

indices = np.where(a%3==0)[0]

last_occurrence_position = indices[-1]

print("last occurrence at", last_occurrence_position)

Output:

Here we could directly use the index ‘-1’ on the returned indices to get the last value in the array.

But how would we extract the position of the last occurrence in a multidimensional array, where the returned result is a tuple of arrays and each array stores the indices in one of the dimensions?

We can use the zip function which takes multiple iterables and returns a pairwise combination of values from each iterable in the given order.

It returns an iterator object, and so we need to convert the returned object into a list or a tuple or any iterable.

Let’s first see how zip works:


a = (1, 2, 3, 4)

b = (5, 6, 7, 8)

c = list(zip(a,b))

print(c)

Output:

So the first element of a and the first element of b form a tuple, then the second element of a and the second element of b form the second tuple in c, and so on.

We’ll use the same technique to find the position of the last occurrence of a condition being satisfied in a multidimensional array.

Let’s use it for a 2D matrix with the same condition as we saw in the earlier example.

np.random.seed(42)

a = np.random.randint(0,10, size=(3,3))

print("Matrix a:\n", a)

indices = np.where(a % 3 == 0)

last_occurrence_position = list(zip(*indices))[-1]

print("last occurrence at",last_occurrence_position)

Output:

We can see in the matrix the last occurrence of a multiple of 3 is at the position (2,1), which is the value 6.

Note: The * operator is an unpacking operator that is used to unpack a sequence of values into separate positional arguments.

Using on DateTime data

We have been using ‘np.where’ function to evaluate certain conditions on either numeric values (greater than, less than, equal to, etc.), or string data (contains, does not contain, etc.)

We can also use the ‘np.where’ function on datetime data.

For example, we can check in a list of datetime values, which of the datetime instances are before/after a given specified datetime.

Let’s understand this through an example.
Note: We’ll use Python’s datetime module to create date objects.

Let’s first define a DataFrame specifying the dates of birth of 6 individuals.

import datetime

names = ["John", "Smith", "Stephen", "Trevor", "Kylie", "Aariz"]

dob = [datetime.datetime(1969, 12, 1),
datetime.datetime(1988, 3, 13),
datetime.datetime(1992, 5, 19),
datetime.datetime(1972, 5, 31),
datetime.datetime(1989, 11, 28),
datetime.datetime(1993, 2, 7)]

data_birth = pd.DataFrame({"name":names, "date_of_birth":dob})

print(data_birth)

Output:

This table has people from diverse age groups!
Let us now specify a condition where we are interested in those individuals who are born on or post-January 1, 1990.

post_90_indices = np.where(data_birth.date_of_birth >= '1990-01-01')[0]

print(post_90_indices)

Output:

Rows 2 and 5 have Smith and Kylie who are born in the years 1992 and 1993 respectively.

Here we are using the ‘greater than or equal to’ (>=) operator on a datetime data, which we generally use with numeric data.
This is possible through operator overloading.

Let’s try one more example. Let’s fetch individuals that were born in May.
Note: Pandas Series provides ‘dt’ sub-module for datetime specific operations, similar to the ‘str’ sub-module we saw in our earlier examples.

may_babies = data_birth.iloc[np.where(data_birth.date_of_birth.dt.month == 5)]

print("May babies:\n{}".format(may_babies))

Output:

Conclusion

We began the tutorial with simple usage of ‘np.where’ function on a 1-dimensional array with conditions specified on numeric data.

We then looked at the application of ‘np.where’ on a 2D matrix and then on a general multidimensional NumPy array.
We also understood how to interpret the tuple of arrays returned by ‘np.where’ in such cases.

We then understood the functionality of ‘np.where’ in detail, using Boolean masks.
We also saw how we can use the result of this method as an index to extract the actual original values that satisfy the given condition.

We looked at the behavior of the ‘np.where’ function with the optional arguments ‘x’ and ‘y’.

We then checked the application of ‘np.where’ on a Pandas DataFrame, followed by using it to evaluate multiple conditions.

We also looked at the nested use of ‘np.where’, its usage in finding the zero rows in a 2D matrix, and then finding the last occurrence of the value satisfying the condition specified by ‘np.where’

Finally, we used ‘np.where’ function on a datetime data, by specifying chronological conditions on a datetime column in a Pandas DataFrame.

June 03, 2020

Linux Haber: Devuan GNU + Linux 3.0.0 “Boewulf ” Kararlı Sürüm Duyuruldu

Kod adı “Boewulf ” olan Devuan GNU + Linux 3.0.0’ın yeni kararlı sürümü resmi olarak duyuruldu. Devuan, systemd‘ye alternatif init yazılımı sağlamak için Debian’dan çatallanmış bir Linux dağıtımıdır. Devuan’ın bu versiyonu Debian 10’u temel alıyor.

Devuan, özellikle systemd barındıramasıyla, systemd bağımsız sistem kullanmak isteyen kullanıcılar için önemli bir alternatif dağıtım olarak öne çıkmaktadır.

Beowulf 3.0.0’daki yenilikler:

Linux çekirdeği 4.19 ile Debian Buster’a (10.4) dayanıyor

Mevcut i386, amd64, armel, armhf ve arm64 mimarilerine ek olarak ppc64el desteği

Yeni önyükleme, ekran yöneticisi ve masaüstü teması.

Daha fazla ayrıntı için sürüm duyurusuna ve sürüm notlarına göz atabilirsiniz..

Devuan 3.0.0, canlı imajlar (“Minimal” veya “Xfce’li Masaüstü”) veya yükleme imajları (“Masaüstü”, “Sunucu” ve “Netinstall”) olarak indirilebilir.

Feeds