Существует ли существующая сеть gui для, располагаются?

Я ищу легкое решение для помощи пользователям, находящим файлы на моем сервере.

Работа командной строки, которую я могу просто использовать, располагается, при необходимости переданный по каналу с командой grep. Однако пользователи не имеют доступа к подсказке и не имеют знания для использования более сложных переданных по каналу команд.
Я экспериментировал с некоторыми поисковыми системами как solr и opensearch, однако они довольно требовательны на обращениях за помощью для Full HD с большим количеством данных, в то время как большинство времен простой поиск имени будет достаточно.

Кто-либо знает сеть gui, который может просто использовать существующий locatedb?
Или другой подход, как легкий searchengine, с низким усилием по установке и требованиями ограниченного ресурса, который использует центральный поисковый дб и предоставляет gui различным платформам?

3
задан 7 January 2015 в 10:26

4 ответа

Обновление, январь 22,2018 :

я наткнулся на mlocate-сеть на GitHub, который соответствует требованиям OP вполне хорошо, хотя испытывает недостаток в способности открыть файлы. Может быть работал вручную или как демон. Согласно README.md, пакет был разработан на Ubuntu 16.04, таким образом, это является довольно недавним с прямо сейчас.

Мини-обновление, 2 февраля

Добавленные двойные кавычки к gnome-open "$TOPEN", так, чтобы открытый для гнома получил полный путь файлов, которые имеют пространство.

Обновление № 2, Jan 30:

Согласно просьбе в комментариях, я совершенствовал сценарий и добавил опцию открыть файлы. Все реализовано с zenity, найдите, и открытый для гнома. Похвалите философию Unix передачи по каналу команд в других!

я аннотировал сценарий, таким образом, это должно быть ясно где, что, и как. В снимках экрана я открываю Привет Мировую программу для Java. Сценарий выходит в любой точке, если пользователь нажимает кнопки Cancel/Quit.

примечание Стороны: OP запросил, чтобы приложение было межплатформенным. Насколько я знаю, zenity, открытый для гнома, и располагаюсь, не зависят от присутствия оболочки GNOME. Кроме того, пользователи будут соединяться с его сервером Ubuntu и всеми те работа приложений на Ubuntu независимо от присутствия оболочки GNOME. Другими словами, они собираются быть выполнением сценария в его системе, не их, для определения местоположения файлов.

усовершенствованный сценарий:

#!/bin/bash
# Author: Serg
# Description: GUI using zenity for locate utility
# Date: January 30, 2015

# This flag will make popup appear if nothing was found
FOUND=0

# Ask user for input, and store it in USRFILE variable
USRFILE=`zenity --entry --title="SEARCH"  --entry-text="Text here" --text="Enter a filename or part of it"`

# if use clicked OK, proceed to this big if statement
if [ $(echo $?) = 0 ]
    then
    TOPEN=$( ( locate $USRFILE ) | ( zenity --height 450 --width=450\
     --list --column "Please wait, I'll display paths to files, if I find any"\
     --title "SEARCH RESULTS" --text "Select a file you want to open"\
    --height=450 --width=450 --ok-label="Open a file " --cancel-label="Quit" )  )
    # FIXME: if user clicks open a file without selecting one, program will crash
    # FIXME: selecting a file and hitting enter, brings up "Nothing found" dialog

    # If user clicked "Open a file" , gnome-open 
    # will open it with whatever default
    # program is listed for that file-type
    if [ $(echo $?) = 0 ]
        then
        gnome-open "$TOPEN"
    fi


    # Set flag to true, do not display "Nothing found"
    if [ $(echo $?) = 0 ] 

        then FOUND=1

    fi

    # If we didn't  find anything, display a message
    if [ $FOUND != 1  ]
        then zenity --info --text="Nothing found"
    fi

fi

Снимки экрана улучшений

Получают ввод данных пользователем enter image description here результаты поиска Дисплея если таковые имеются, мог бы занять одну минуту для загрузки enter image description here , Открывают выбранный файл enter image description here

Для предложения о том, как сделать этот сценарий открытым с ярлыком (дважды щелкают), относятся к моему предыдущему обновлению ниже

Обновление № 1, Jan 29: Игнорируйте мое предыдущее сообщение. Я имею, хотя о пути Вы сформулировали проблему: "gui фронтэнд для определения местоположения". На самом деле там существует gui фронтэнд к сценариям, zenity, и я использовал его для создания чернового наброска сценария, который мог бы быть полезным. Не стесняйтесь изменять его и добавлять функциональность, но на наиболее базовом уровне это, располагаются с gui.

Что касается создания "двойного активируемого по щелчку" сценария относятся здесь

сценарий

#!/bin/bash

FOUND=0


USRFILE=`zenity --entry  --entry-text="Text here" --text="Enter a filename or part of it"`
zenity --info --text " Please wait a little, I'll try to find it "
locate $USRFILE > results.txt && zenity --text-info --html --filename='results.txt' 
if [ -e results.txt ] 
        then FOUND=1
        rm results.txt
fi

if [ $FOUND != 1  ]
         then zenity --info --text="Nothing found"
fi

Снимки экрана

enter image description here enter image description here enter image description here enter image description here enter image description here

Старое сообщение

существует gnome-search-tool, с которым я сверился ps и htop утилиты, и не требуется слишком многих ресурсов. Можно установить его с sudo apt-get install gnome-search-tool.

enter image description here

6
ответ дан 17 November 2019 в 09:42

Я сделал свое исследование об этом, узнал этот универсальный инструмент поиска файла, названный Зубатка . Обещание звуков, полностью записанное в Python и полезное, чтобы найти и определить местоположение файлов. Я также нашел GUI

0
ответ дан 17 November 2019 в 09:42

Я знаю, что это довольно старая информация, но я только что задал тот же вопрос о холодном хранилище на Raspberry Pi. Я придумал очень простое решение с CGI, но будьте осторожны - безопасность не является его сильной стороной. Используйте это только для личной системы или частной сети, потому что она созрела для инъекционных атак. Хорошая новость заключается в том, что его можно быстро и легко развернуть, если у вас уже установлен Apache/NGinx.

search.html:

<HTML>
<TITLE>MLocate Web Form</TITLE>
<BODY>
<b>Simple Web Form</b><p>
<FORM ACTION="/cgi-bin/search.cgi" target="resultsframe">
<label for="search">Find</label>
<INPUT TYPE="TEXT" NAME="search" SIZE="50"><BR>
<label for="limit">Limit</label>
<INPUT TYPE="TEXT" NAME="limit" value="10" SIZE="4"><BR>
<INPUT TYPE="SUBMIT" NAME="Find" VALUE="Find">
</FORM>
<iframe name="resultsframe" height=600 width=800></iframe>
</BODY>
</HTML>

Теперь вы можете просто использовать CGI для вывода результатов из скрипта bash (/var/www/cgi-bin/search.cgi):

#!/bin/bash
echo -e 'Content-type: text/html\n\n'
echo '<html><body><table>'

eval $(echo $QUERY_STRING | sed 's/\&/\n/g')

while read -r l
do
    l=${l:8}
    echo "<tr><td><a href='[YOUR_HTTP_BASE]$l'>$l</td></tr>"
done <<< $(locate -l "$limit" -i "$search")

echo "</table></html>"

Результаты публикуются в виде ссылок, поэтому фильтруйте и сопоставьте ваши результаты с путями, разрешенными apache, которые вы хотите. Если у вас есть символы Unicode или html-iffy, лучше всего избегать их.Также обратите внимание, что вы потенциально можете внести гадость в свой поиск здесь, поэтому используйте на свой страх и риск или стерилизуйте ввод.

Sample screenshot

0
ответ дан 1 May 2020 в 09:12

Я использую Zenity. Настроил поиск текста в папке через Thunar

Если кому поможет буду только рад

#!/bin/bash
# Author: Karavaev Viktor E. (Russia)

# Description: GUI using zenity for locate search file Thunar
# Using Thunar: ~/.config/Thunar/find_file_thunar.sh %f
# Using: ~/.config/Thunar/find_file_thunar.sh /home/user/dir/
# Date: June 05, 2020
# print debug strings
debug=0

# Find is dir
FINDSTR=$1

if [ $debug = 1 ]
then
    echo $FINDSTR
fi

# open window without exit
zenity_list()
{
    TOPEN=$( zenity --height=400 --width=450 \
         --list --column "Files" \
         --title "Result" --text "Select the file you want to open" \
         --ok-label="Open" --cancel-label="Close" --separator=";" $list  )

    if [ $(echo $?) = 0 ]
    then
        if [ "$debug" = 1 ]
        then
            echo "TOPEN: $TOPEN \n"
        fi
        # Open select file this program ( i like geany ;) )
        geany "$TOPEN"
        zenity_list

    fi   
}

# Find is dir exist
if [ -n "$FINDSTR" ]
then

    # This flag will make popup appear if nothing was found
    FOUND=0

    cd $FINDSTR

    # Ask user for input, and store it in USRFILE variable 
    USRFILE=`zenity --entry --title="Search"  --entry-text="" --text="search text"`


    if [ "$debug" = 1 ]
    then    
        # dir search command
        grep -rnwil "$USRFILE"
    fi  

    # if use clicked OK, proceed to this big if statement
    if [ $(echo $?) = 0 ]
        then

        list=$( grep -rnwil "$USRFILE" )

        if [ "$debug" = 1 ]
        then            
            echo "list finds:  $list \n"
        fi      
        zenity_list 

        # Set flag to true, do not display "Nothing found"
        if [ $(echo $?) = 0 ] 
            then FOUND=1
        fi

    fi

    # If we didn't  find anything, display a message
    if [ "${#list[@]}" = 0 ]    
    then
        if [ "$debug" = 1 ]
        then            
            echo "Not found \n"
        fi  
        zenity --height=100 --width=200 --info --text="Not found "
    fi  

if [ "$debug" = 1 ]
then             
    echo "flag FOUND result: $FOUND \n"
fi  

else
    if [ "$debug" = 1 ]
    then            
        echo "Parameters were not found. \n"
    fi
    zenity --height=100 --width=200 --info--text="Parameters were not found."
fi

enter image description here

0
ответ дан 5 June 2020 в 14:22

Другие вопросы по тегам:

Похожие вопросы: