Skip to content
/ oslib Public

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

License

Notifications You must be signed in to change notification settings

wille/oslib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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