Для команд с небольшим выводом и короткими строками можно сделать это легко с комбинацией a2ps, ghostscript и imagemagick:
Здесь вывод команды ls
используется в качестве примера.
ls |
a2ps -=book -B -q --medium=A4dj --borders=no -o out1.ps &&
gs \
-sDEVICE=png256 \
-dNOPAUSE -dBATCH -dSAFER \
-dTextAlphaBits=4 -q \
-r300x300 \
-sOutputFile=out2.png out1.ps
convert -trim out2.png result.png
a2ps
создает векторное изображение текста. ghostscript растеризирует его в графический PNG (не используйте JPEG, это - неправильный графический формат для этого, это только полезно для фотореалистических изображений). Наконец imagemagick используется для удаления окружающего пробела. Прочитайте страницы справочника и настройте параметры по мере необходимости.
Если программы не установлены, можно скомпилировать и установить их с --prefix=/home/me/.local
как пользователь без прав администратора.
Править: Как упомянуто в комментарии решение без зависимости a2ps
и ghostscript является следующим.
convert label:"$(ls)" result.png
Используйте Клиент WMI здесь: http://www.orvant.com/packages/ и выполненный WMIC управляет непосредственно из Linux, хотя необходимо будет использовать эквиваленты WQL команд, поскольку эта версия не поддерживает non-WQL queryies.
Я попробовал бы, они управляют с winexe
отладьте включенный переключатель. Можно появиться, уровень отладки (надеется быть числом такой как 0,1,2,3, и т.д.).
Здесь я просто выполняю Вашу команду, как кроме, я добавил переключатель -d 3
.
$ winexe -A authfile -d 3 //syspc4.domain.com "wmic bios get serialnumber"
ERROR: Unable to open credentials file!
[param/loadparm.c:587:init_globals()] Initialising global parameters
[param/loadparm.c:2462:lp_load()] lp_load: refreshing parameters from /dev/null
[param/params.c:556:pm_process()] params.c:pm_process() - Processing configuration file "/dev/null"
[param/loadparm.c:1343:lp_add_hidden()] adding hidden service IPC$
[param/loadparm.c:1343:lp_add_hidden()] adding hidden service ADMIN$
[auth/credentials/credentials_krb5.c:171:cli_credentials_set_ccache()] failed to get principal from default ccache: No such file or directory: open(/tmp/krb5cc_500): No such file or directory
[winexe/winexe.c:304:main()] winexe version 0.80
This program may be freely redistributed under the terms of the GNU GPL
[auth/auth.c:447:auth_register()] AUTH backend 'winbind_samba3' registered
[auth/auth.c:447:auth_register()] AUTH backend 'winbind' registered
[auth/auth.c:447:auth_register()] AUTH backend 'name_to_ntstatus' registered
[auth/auth.c:447:auth_register()] AUTH backend 'fixed_challenge' registered
[auth/auth.c:447:auth_register()] AUTH backend 'unix' registered
[auth/auth.c:447:auth_register()] AUTH backend 'anonymous' registered
[auth/auth.c:447:auth_register()] AUTH backend 'sam' registered
[auth/auth.c:447:auth_register()] AUTH backend 'sam_ignoredomain' registered
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'krb5' registered
[auth/gensec/gensec.c:1205:gensec_register()] gensec subsystem fake_gssapi_krb5 is disabled
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'schannel' registered
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'spnego' registered
[auth/gensec/gensec.c:1205:gensec_register()] gensec subsystem gssapi_spnego is disabled
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'gssapi_krb5' registered
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'gssapi_krb5_sasl' registered
[auth/gensec/gensec.c:1229:gensec_register()] GENSEC backend 'ntlmssp' registered
[lib/util/util.c:334:interpret_addr()] sys_gethostbyname: Unknown host. syspc4.domain.com
[lib/socket/interface.c:103:add_interface()] added interface ip=192.168.1.110 nmask=255.255.255.0
[winexe/winexe.c:322:main()] ERROR: Failed to open connection - NT_STATUS_NO_MEMORY
Последний код winexe (из "текущего" репозитория мерзавца, иначе "winexe-waf"; ноябрь 2013 даты), не зависает, когда я тестирую его. Я создаю winexe на Debian, Хрипящем с Samba 4.0.10 пакета от Нестабильного и выполненного winexe -U "<user>%<pwd>" //192.168.1.2 'wmic bios get serialnumber'
где 192.168.1.2 IP-адрес виртуальной машины VirtualBox, запускающей Windows 7 Professional SP1. Вывод следующие.
$ winexe -U "<user>%<pwd>" //192.168.1.2 'wmic bios get serialnumber'
SerialNumber
0
$ winexe -U "<user>%<pwd>" //192.168.1.2 'wmic computersystem get model'
Model
VirtualBox