Как мне запустить NetBeans из терминала?

Есть много ответов на этот вопрос, но ни один из них не использует Криптографически безопасный генератор псевдослучайных чисел (CSPRNG).

Простой, безопасный и правильный ответ - использовать RandomLib и не изобретать велосипед.

Для тех из вас, кто настаивает на изобретении собственного решения, PHP 7.0.0 предоставит random_int() для этой цели; если вы все еще используете PHP 5.x, мы написали PHP 5 polyfill для random_int() , чтобы вы могли использовать новый API даже до обновления до PHP 7.

Безопасное создание случайных целых чисел в PHP не является тривиальной задачей. Вы должны всегда проверять ваших постоянных экспертов по криптографии StackExchange , прежде чем внедрять собственный алгоритм в производство.

С безопасным целочисленным генератором на месте генерация случайной строки с CSPRNG - прогулка в парке.

Создание безопасной случайной строки

/**
 * Generate a random string, using a cryptographically secure 
 * pseudorandom number generator (random_int)
 * 
 * For PHP 7, random_int is a PHP core function
 * For PHP 5.x, depends on https://github.com/paragonie/random_compat
 * 
 * @param int $length      How many characters do we want?
 * @param string $keyspace A string of all possible characters
 *                         to select from
 * @return string
 */
function random_str($length, $keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
{
    $pieces = [];
    $max = mb_strlen($keyspace, '8bit') - 1;
    for ($i = 0; $i < $length; ++$i) {
        $pieces []= $keyspace[random_int(0, $max)];
    }
    return implode('', $pieces);
}

Использование :

$a = random_str(32);
$b = random_str(8, 'abcdefghijklmnopqrstuvwxyz');

Демонстрация : https: // 3v4l.org/b4PST (Игнорировать сбои PHP 5; требуется случайный компас)

8
задан 18.05.2020, 00:46

3 ответа

dpkg является debian диспетчером пакетов, так как Вы установили Nebeans (по-видимому, локальный) сценарий, это не будет перечислено в dpkg-l.

Получают команду приложения от, он - файл на рабочем столе:

, Когда Вам установили приложение, которого Вы не знаете команду, но у Вас действительно есть файл на рабочем столе, можно считать ее из содержания файла на рабочем столе. Ссылка, которую Вы имеете на своем рабочем столе , файл на рабочем столе. Ищите строку, начиная с "Должностного лица =". Что прибывает после того, как та строка является командой, которую Вы ищете.

Подают заявку, доступную в Тире:

Обычно, установка приложений файл на рабочем столе в /usr/share/applications (как emacs делает). Если файл на рабочем столе расположен или в том месте или в ~/.local/share/applications, появляется в Тире автоматически, поэтому при копировании файла на рабочем столе в ~/.local/share/applications это появится в Тире после того, как затем войдут в систему.

Открывают приложение (только) это - имя двоичного файла (или не):

Netbeans не открывался на команде netbeans, потому что оболочка не знает путь к Вашему двоичному файлу. Если двоичные файлы будут расположены в /usr/bin (путь по умолчанию к двоичным файлам приложения), то они откроются сразу же без префикса пути. Это имеет место, например, с emacs.

, Если приложение не устанавливает свой двоичный файл в /usr/bin, существует три возможности; любой файл на рабочем столе приложения выполняет строку, включает путь к файлу, как Вы видите, например, в выполнить строке file-explorer indicator файл на рабочем столе: /opt/indicator-file-explorer/bin/indicator-file-explorer, или путь к двоичному файлу добавляется к $PATH (/etc/environment), таким образом, оболочка будет искать двоичные файлы в том каталоге также, или приложение устанавливает ссылку на двоичный файл в /usr/bin. Все три опции действительно происходят, неважно, способ, которым установлено приложение.

, Если бы Вы установили свое приложение локально, это была бы плохая идея (попробуйте к-), создайте ссылку на двоичный файл приложения из глобального каталога, такой как [1 110]; другие пользователи застряли бы с битой ссылкой, потому что у них нет действительных полномочий в Вашем корневом каталоге. Поэтому самый легкий путь состоит в том, чтобы создать локальный каталог bin (~/bin) и создать ссылку на локальный двоичный файл из того каталога (ln-sf). Тем путем можно выполнить локально установленный Netbeans единственной командой netbeans.

5
ответ дан 18.05.2020, 00:48
  • 1
    @Alan обновил мой ответ. – Rajendra arora 18.05.2020, 00:48
  • 2
    По моему скромному мнению, there' s другое различие, потому что emacs может быть запущен от Терминала, но когда я пробую " netbeans & " я получаю сообщение это it' s, не установленные и предложение для использования склонный - получают установку netbeans. Это означает, что склонный - добираются, установки добавляют пути двоичного файла к системному пути, но sh установки не делают? – Sam Hasler 18.05.2020, 00:49
  • 3
    @Alan я обновил свой ответ – rafif 18.05.2020, 00:49
  • 4
    Спасибо Jacob! That' s очень подробный ответ. Я don' t полностью понимают последний абзац все же. I' d нравится запускать netbeans с терминала. В ' netbeans-8.0.desktop' файл у меня есть эта строка ' Должностное лицо =/bin/sh "/home/al1357/netbeans-8.0/bin/netbeans" ' таким образом, я сделал ' sudo ln/home/al1357/netbeans-8.0/bin/netbeans' в '/usr/bin' каталог. Теперь, когда я делаю ' netbeans & ' я получаю ошибку: ' не Может считать кластерный файл:/usr/etc/netbeans.clusters'. как я заставляю его работать? – Mahyar Damavand 18.05.2020, 00:49
  • 5
    @Alan, даже если это работало бы, это не хорошая идея создать ссылку глобально (в usr/bin в файл или приложение в локальном каталоге. Другие пользователи столкнулись бы с " dead" ссылка, так как у них нет полномочий в Вашем локальном каталоге. Если Вы создаете bin каталог в Вашем корневом каталоге и помещаете ссылку туда (ln -sf /home/al1357/netbeans-8.0/bin/netbeans /home/al1357/bin/netbeans), это должно работать, после выходят из системы / входят в систему. (если я ничего не вводил с опечаткой). Много раз это работает как этот. – modiX 18.05.2020, 00:50

Не знайте, могло ли это помочь, но какие работы для меня предполагает, что Вы - текущий корневой каталог своего пользователя

./netbeans-8.0.2/bin/netbeans

, я установил netbeans путем загрузки sh установщика с их веб-сайта. Просто любопытный о том, как выполнить netbeans через терминал и это работало на меня.

1
ответ дан 18.05.2020, 00:47

Принятие Вы загрузили 7,4 версий

при установке netbeans из .sh установщика использование sudo тогда, команда по умолчанию для выполнения netbeans:

/bin/sh "/usr/local/netbeans-7.4/bin/netbeans"

при установке netbeans без sudo тогда команда по умолчанию:

~/netbeans-7.4/bin/netbeans
10
ответ дан 18.05.2020, 00:48

Теги

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