Linux ve systemd ile grafik arayüz ve konsol arayüz geçişi nasıl yapılır?

Estimated read time 4 min read

Linux işletim sistemini başlattığınızda, sırasıyla gerçekleşen açılış işlemlerini kontrol eden sisteme “init sistem” adı verilir. Bir takım Linux dağıtımları SysV başlatıcı, bir kısım dağıtımlar ise systemd kullanırlar. Masaüstü bilgisayar kullanıyorsanız, başlangıç işlemleri tamamlandığında grafik arayüze ulaşmak istersiniz. Sunucu bilgisayarda ise masaüstü ihtiyacınız yoksa, grafik arayüze değil komut satırına ulaşmak istersiniz. Bu yazımızda, systemd yönetim sistemini kullanan Linux dağıtımında grafik ve konsol arasında geçişler ve varsayılan açılış hedefini nasıl ayarlayabileceğimizi göreceğiz.

Öncelikle, sistemimizde yüklü ve aktif olan hedef durumlarını görelim. Bunun için “systemctl list-units –type=target” komutunu kullanabilirsiniz.

linux@rpi4:~ $ systemctl list-units --type=target
  UNIT                   LOAD   ACTIVE SUB    DESCRIPTION                        
  basic.target           loaded active active Basic System
  cryptsetup.target      loaded active active Local Encrypted Volumes
  getty.target           loaded active active Login Prompts
  graphical.target       loaded active active Graphical Interface
  integritysetup.target  loaded active active Local Integrity Protected Volumes
  local-fs-pre.target    loaded active active Preparation for Local File Systems
  local-fs.target        loaded active active Local File Systems
  machines.target        loaded active active Containers
  multi-user.target      loaded active active Multi-User System
  network-online.target  loaded active active Network is Online
  network.target         loaded active active Network
  nfs-client.target      loaded active active NFS client services
  nss-user-lookup.target loaded active active User and Group Name Lookups
  paths.target           loaded active active Path Units
  remote-fs-pre.target   loaded active active Preparation for Remote File Systems
  remote-fs.target       loaded active active Remote File Systems
  rpc_pipefs.target      loaded active active rpc_pipefs.target
  slices.target          loaded active active Slice Units
  sockets.target         loaded active active Socket Units
  swap.target            loaded active active Swaps
  sysinit.target         loaded active active System Initialization
  time-set.target        loaded active active System Time Set
  timers.target          loaded active active Timer Units
  veritysetup.target     loaded active active Local Verity Protected Volumes

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
24 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

Yukarıda listelenen bir çok durum, aslında varılmak istenen nihai hedefin (grafik arayüz, konsol arayüzü vb. ) bir gerekliliğidir. Bizim şu an için ilgilendiğimiz durumlar, “graphical.target”, “multi-user.target” olduğu için diğerlerini dikkate almıyoruz.

Öncelikle sistemimizde varsayılan olarak ayarlı açılış hedefini görelim. Bunun için “systemctl get-default” komutunu kullanıyoruz.

$ systemctl get-default 
graphical.target

Sistemimizde ayarlanmış varsayılan açılış hedefinin grafik arayüz “graphical.target” olduğunu görebilirsiniz. Buradan çıkaracağımız sonuç, sistemimiz başladığında bütün servisler sırasıyla çalıştırılacak ve grafik arayüz ile masaüstü yöneticisine ulaşacaksınız.

Peki masaüstüne ihtiyacınız yoksa veya ihtiyacınız kalmadı ise durdurup sistem kaynak kullanımını azaltmak isteyebilirsiniz. Bu durumda grafik arayüzünü durdurup konsol dediğimiz, komut satırı olarak da tabir edilen, komutlarımızda “multi-user.target” şeklinde ifade edeceğimiz ekrana nasıl geçeceğiz.

graphical.target tan multiuser-target a geçiş

Sistemimiz şu an graphical.target dediğimiz grafik arayüzde çalışıyor. Burada yapılan işlem masaüstü ekranında Terminal penceresi açmak değildir. Masaüstü yöneticisini tamamen durdurmaktır. Dikkat etmelisiniz. Aşağıdaki komut sayesinde artık masaüstü yöneticisi ve grafik arayüz kullanan programlar tamamen durduruldu. Komut satırındasınız.

sudo systemctl isolate multi-user.target

multiuser-target tan graphical.target a geçiş

Grafik arayüzü tekrar başlatmak isterseniz aşağıdaki komutu kullanabilirsiniz. Bu komut sonucunda grafik arayüz ve masaüstü yöneticisi tekrar başlatılacaktır

sudo systemctl isolate graphical.target

İlk açılış varsayılan hedef ayarı

Yukarıda verdiğimiz geçiş komutları, sistem açıldıktan sonra başlatma, sonlandırma ve geçiş işlemleri için kullanılmaktadır. Şimdi ise, sisteminiz ilk açıldığında hangi durumu hedef almasını istediğimizi ayarlayalım. Bunun için “systemctl set-default ” komutunu kullanacağız.

sudo systemctl set-default multi-user.target
sudo systemctl set-default graphical.target

Bu komutlar sayesinde istediğiniz zaman grafik arayüzü durdurarak kaynak kullanımını azaltabilir, ihtiyacınız olduğunda birbirleri arasında geçiş yapabilirsiniz.