SkillAgentSearch skills...

Oslib

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

Install / Use

/learn @wille/Oslib

README

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

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

Related Skills

View on GitHub
GitHub Stars29
CategoryDevelopment
Updated11mo ago
Forks11

Languages

Java

Security Score

87/100

Audited on Apr 24, 2025

No findings