himanshub16 / oslib

Java library to easily detect running Operating System, BSD Flavor, Linux Distribution, Desktop Environment and Architecture

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

oslib

Java library to easily detect running Operating System, BSD Flavor, Linux Distribution, Desktop Environment and Architecture

Examples

Detecting if running Elementary OS (Linux)

AbstractOperatingSystem os = OperatingSystem.getOperatingSystem();

if (os.getType() == OperatingSystem.LINUX) {
	LinuxOperatingSystem los = (LinuxOperatingSystem) os;
	
	if (los.getDistro() == Distro.ELEMENTARY_OS) {
		System.out.println("Is running eOS");
	} else {
		System.out.println("Is running " + los.getDisplayString());
	}
}

Getting all information available about current OS

AbstractOperatingSystem os = OperatingSystem.getOperatingSystem();

if (os.getType() == OperatingSystem.MACOS) {
  	MacOSOperatingSystem xos = (MacOSOperatingSystem) os;
   
   	if (xos.getVersion() == MacOSVersion.YOSEMITE) {
   		System.out.println("Is running Yosemite " + xos.getVersion().getVersion());
    	// Will print: Is running Yosemite 10.10
  	}
   
   	System.out.println(xos.getDisplayString());
   	// Will print (if running mavericks): Mac OS X Mavericks 10.9
}

if (os.getType() == OperatingSystem.LINUX) {
	LinuxOperatingSystem los = (LinuxOperatingSystem) os;
	
	System.out.println(los.getDisplayString());
	// Will print (if running Kali): Kali Linux 1.0
	
	if (los.getArch() == Arch.x86_64) {
		System.out.println("Is 64 bit");
	}
}

Current Known Compatibility:

Note: These are the only ones I have tested with. Will work well on untested systems, but the checked ones are absolutely working. Linux distro and BSD flavor detection after 1.0 is based on screenFetch

  • macOS Mac OS X
  • Windows
  • Arch Linux
  • Amazon Linux
  • Fedora
  • Linux Mint
  • Ubuntu
  • Debian
  • CentOS
  • Crunchbang
  • Gentoo
  • Funtoo
  • FreeBSD
  • OpenBSD
  • NetBSD
  • DragonFlyBSD
  • OpenSUSE
  • Mandriva/Mandrake
  • Slackware
  • Red Hat (RHEL)
  • Frugalware
  • Peppermint
  • SolusOS
  • Mageia
  • ParabolaGNU/Linux-libre
  • Viperr
  • LinuxDeepin
  • Chakra
  • Trisquel
  • Manjaro
  • elementary OS
  • Scientific Linux
  • Kali Linux
  • Sabayon
  • NixOS
  • Crux
  • Lunar Linux
  • BLAG
  • gNewSense
  • Dragora
  • Chapeau
  • KDE neon
  • Oracle Linux
  • Qubes
  • Linux (If no distro detected or failed to detect)
  • Solaris

About

Java library to easily detect running Operating System, BSD Flavor, Linux Distribution, Desktop Environment and Architecture

License:MIT License


Languages

Language:Java 100.0%