Я закончил тем, что использовал Perl DateTime::Event::Sunrise
, потому что это имеет тенденцию быть легче для меня развернуть модуль от CPAN, чем скомпилировать программы C.
Демонстрационное использование:
use DateTime;
use DateTime::Astro::Sunrise;
$latitude = "+48.857"; $longitude = "+2.351";
$sr = DateTime::Astro::Sunrise->new($longitude, $latitude, 0, 3);
$date = DateTime->now; $date->set_time_zone("local");
($rise, $set) = $sr->sunrise($date);
$rise->set_time_zone("local"); $set->set_time_zone("local");
print $rise, " to ", $set, "\n";
Это в большой степени зависит на съемочной площадке системы. Один способ получить информацию состоял бы в том если xrandr
используется:
xrandr --query
Это отобразит что-то как:
Screen 0: minimum 320 x 200, current 3046 x 1050, maximum 8192 x 8192
VGA1 connected 1680x1050+1366+0 (normal left inverted right x axis y axis) 473mm x 296mm
1680x1050 60.0*+
1280x1024 75.0 60.0
1152x864 75.0
1024x768 75.1 60.0
800x600 75.0 60.3
640x480 75.0 60.0
720x400 70.1
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 353mm x 198mm
1366x768 60.0*+
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
DP1 disconnected (normal left inverted right x axis y axis)
Вы могли затем использовать некоторый инструмент обработки текста для вытаскивания разрешения для каждого дисплея.
Вы могли попытаться использовать монитор-edid инструмента, который производит вывод как это
Name: DELL 2407WFP
EISA ID: DELa017
EDID version: 1.3
EDID extension blocks: 0
Screen size: 52.0 cm x 33.0 cm (24.25 inches, aspect ratio 16/10 = 1.60)
Gamma: 2.2
Digital signal
Max video bandwidth: 170 MHz
HorizSync 30-83
VertRefresh 56-76
# Monitor preferred modeline (60.0 Hz vsync, 74.0 kHz hsync, ratio 16/1)
ModeLine "1920x1200" 154 1920 1968 2000 2080 1200 1203 1209 1235 -hsyncc
Это полезно, если Вы не хотите иметь X выполнений, когда Вы хотите зондировать свою информацию контроля.
xrandr
только работы над более новыми X-серверами с расширением RandR. Предоставленный, который должен быть верным для всего в эти дни, но в случае, если не …
xdpyinfo
также распечатывает информацию на экран, включая размер (пиксель и физический размер).