Есть чудо девайс aten cs1708i - ipkvm
Есть slackware-15/x86_64 c xfce-4.12
Все замечательно работает, но есть проблема - на 4к мониторе оно мелковато.
Прочитал про настройки жабы для работы с hiDPI был сделан скрипт (чтоб ругать жабы было видно)
export GDK_SCALE=2
export GDK_DPI_SCALE=0.5
export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing
.plaf.gtk.GTKLookAndFeel -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
exec /usr/lib64/jre/bin/javaws "$@"
Picked up _JAVA_OPTIONS: -Dsun.java2d.uiScale=2 -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /tmp/libiKVMLib_V1.0.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'
Что странно: /tmp/libiKVMLib_V1.0.so выкачивается откуда-то, т.к. в /tmp изначально ее нет и после появления у нее владелец тот, кто запустил. Но это еще не все. Эта либа 32-x битная!
Вопрос - что это за куйня с выкачиванием либы и какого хрена она 32-х битная?
nm на нее говорит следующее
/tmp/libiKVMLib_V1.0.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamical
ly linked, with debug_info, not stripped
00002710 T Java_com_aten_javaclient_jni_JniInterfaceClass_registerHook
000014d8 T Java_com_aten_javaclient_jni_JniInterfaceClass_setCatchSystemKey
0000295c T Java_com_aten_javaclient_jni_JniInterfaceClass_setKeyHook
000028c8 T Java_com_aten_javaclient_jni_JniInterfaceClass_setKeyLed
0000162c T Java_com_aten_javaclient_jni_JniInterfaceClass_unregisterHook
000014fc T ExitThread()
00002578 T CreateThread()
0000142a T SetSpecialKey(int, int)
0000276e T SetKeyboardLed(bool, bool, bool)
000013fc T ResetSpecicalkey()
00001490 T GetSpecialKeyStatus()
00001932 T GetVKCodeAndLocation(int, int, int, int&, int&, int&)
00002a36 W JNIEnv_::GetMethodID(_jclass*, char const*, char const*)
00002a16 W JNIEnv_::NewGlobalRef(_jobject*)
00002aae W JNIEnv_::CallVoidMethod(_jobject*, _jmethodID*, ...)
00002a66 W JNIEnv_::GetJavaVM(JavaVM_**)
00002a88 W JavaVM_::AttachCurrentThread(void**, void*)
00006854 A __bss_start
00006854 A _edata
00006904 A _end
00002b24 T _fini
00001054 T _init
00004600 D x_usb_key_map
Смешивать 32 и 64 бита в одном процессе нельзя вроде как...
Если обращаться в ТП aten, то нужно ооочень подробно все им описывать, т.к. они тупые до невозможности.
Если бы я знал причину проблемы, возможно я их бы допинал, т.к. девайс шибко полезный в некоторых случаях.