Это остановило мою установку мертвыми на своих дорожках, выполняя альтернативную установку с зашифрованным томом. Используя unetbootin для создания изображения, шесть файлов, упомянутых выше, отсутствовали. Я убежден, что это проблема с именами файлов и ограничениями длины пути, в результате чего эти длинные имена файлов будут отсутствовать. Эта проблема отмечена как недопустимая ошибка здесь: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1041911
В конечном итоге добавление файлов не помогло. И мне пришлось загрузиться в неполную установку и установить ubuntu-desktop вручную.
Яд может быть полезен в этом отношении, это вилка зенита с большим количеством функций, одна из которых способна создавать формы.
Вот очень простой пример формы: [!d1 ]
#!/bin/bash
frmdata=$(yad --title "Test Form" --form --field "Address" --field="Name")
frmaddr=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $1 }')
frmname=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $2 }')
echo $frmaddr > test.txt
echo $frmname >> test.txt
В приведенном выше скрипте будет отображаться такая форма:
После ввода данных и нажмите «ОК» или нажмите «Ввод» на клавиатуре, данные формы будут записывается в текстовый файл test.txt, я использую awk для разделения данных формы, которые являются строкой с каналом в качестве разделителя полей, я считаю, что есть прямой способ получить данные без awk, но я не эксперт по яду , пожалуйста, проверьте проект дома и задайте вопросы, вы можете найти более элегантный способ.
Как установить и установить yad здесь:
http://www.webupd8.org/ 2010/12 / yad-zenity-on-steroids-display.html
yad project home:
http://www.webupd8.org/2010/12/ yad-zenity-on-steroids-display.html
больше примеров здесь:
http://technostripe.com/yad-a-fork-of-zenity -with-more-features /
http: //technostripe.com/yad-a-fork-of-zenity-with-more-features/
Я опоздал, но это может быть полезно.
Яд может быть полезен в этом отношении, это вилка зенита с большим количеством функций, одна из которых способна создавать формы.
Вот очень простой пример формы:
#!/bin/bash
frmdata=$(yad --title "Test Form" --form --field "Address" --field="Name")
frmaddr=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $1 }')
frmname=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $2 }')
echo $frmaddr > test.txt
echo $frmname >> test.txt
Вышеприведенный скрипт отобразит такую форму:
[/g4]
После ввода данных и нажмите «ОК» или нажмите «Ввод» клавиатура, данные формы будут записаны в текстовый файл test.txt, я использую awk для разделения данных формы, которая является строкой с каналом в качестве разделителя полей, я считаю, что есть прямой способ получить данные без awk, но я не эксперт, пожалуйста, проверьте проект дома и задайте вопросы, вы можете найти более элегантный способ.
Как получить и установить yad здесь:
http://www.webupd8.org/2010/12/yad-zenity-on-steroids-display.html
yad project home:
больше примеров здесь:
http://technostripe.com/yad-a -fork-of-zenity-with-more-features /
http: // cod e.google.com/p/yad/wiki/Examples
Я опоздал, но это может быть полезно.
xDialog - это нечто похожее, вот список поиска из freshmeat. tcl / tk - еще один популярный инструмент для таких заданий.
Плохое решение потребует от пользователя заполнить список и, наконец, пометить все строки:
zenity --list --text "Fill every row, and mark all rows before hitting 'OK'" --column "title" --print-column=2 --multiple --column "value" --editable "name" "(please override)" "host" "" "ip" ""
Допустим, что это не удобно.
Мой ответ может быть запоздалым (думаю, два года спустя), но так как многие люди все еще ищут ответ на этот же вопрос, это может быть полезно. Я также ищу решение «лучше, чем zenity / yad / xdialog», и я нашел две очень хорошие программы:
gtkdialog: http://code.google.com/p/gtkdialog/ вы можете создать полный пользовательский интерфейс для bash, который продолжает работать при общении с вашим backendcript. Он активно развивается и также используется разработчиками щенков. это собственный поляризованный язык, более мощный, чем libglade, однако он может запускать libglade XML. gtkserver: http://www.gtk-server.org/ Этот шаг идет еще дальше и работает как сопроцесс, когда вы общаетесь со своим скриптом bash через каналы, сообщения или TCP-порты. Он не работает с XML-типизированным файлом описания, а с GTK-командами, которые вы вызываете из командной строки bash. Очень мощный :-)gtkdialog больше не находится в репозиториях, но вы можете запланировать последние версии в PPA (https://launchpad.net/~dnjl/+archive/build/+sourcepub/ 2986274 / + listing-archive-extra)
gtkserver не имеет PPA или deb AFAIK, поэтому это должно быть скомпилировано из источника.
Одним из решений было бы использовать Zenity, но просто отображать каждую подсказку индивидуально. Первое приглашение будет для первого поля, а затем, когда пользователь нажмет «ОК», вы можете запросить второе поле.
Похоже, что вы можете достичь пределов сценариев и, возможно, захотите чтобы изучить интерфейс приложения, используя что-то вроде QT или GTK.