oslib
Pre macOS renaming release
Javaライブラリランニングオペレーティングシステム、BSDフレーバー、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 ());
}
} 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" );
}
}注:私がテストしたのはこれらだけです。テストされていないシステムではうまく機能しますが、チェックされたシステムは絶対に機能しています。 1.0後のLinuxディストリビューションとBSDフレーバー検出は、screenfetchに基づいています