LINUX.ORG.RU

Сообщения mayar

 

Manjaro не запускается, чёрный экран без курсора после включения пк

Всем привет! Неделю назад фиксил пакеты в pacman. Пофиксить удалось, но когда через неделю вырубился ноут из-за переразряда включаться манджаро уже не захотела. Думаю дело в моих кривых манипуляциях в системе. Буду признателен за информацию о том как понять что не так и что надо сделать чтобы починить. И ещё немного информации:

  • графическая оболочка gnome
  • видеокарта nvidia но дрова юзаю проприетарные и скорее всего не в этом дело
  • через livecd могу зайти, но не знаю что делать дальше

 ,

mayar
()

Работа CORS в Spring-Security

Я пытаюсь сделать запрос из клиентского приожения (react), с localhost:5173. Запрос содержит заголовок с JWT «Authorization».

В результате я получаю ошибку похожую на CORS. А еще на бэкенде в AuthenticationTokenFilter при получении заголовка с авторизацией получаю null. При этом через postman все работает нормально.

Изображения из вкладки Network:

https://i.stack.imgur.com/px7TF.png

https://i.stack.imgur.com/KZkaW.png

Код:

@Configuration
@EnableWebSecurity
@EnableMethodSecurity
@RequiredArgsConstructor
public class SecurityConfig {

    private final AuthenticationTokenFilter authenticationTokenFilter;
    private final AuthenticationConfiguration authConfig;

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
                .csrf(AbstractHttpConfigurer::disable)
                .authorizeHttpRequests(authorize -> authorize
                        .requestMatchers("/public").permitAll()
                        .requestMatchers("/login").permitAll()
                        .anyRequest().authenticated()
                )
//                .csrf((csrf) -> csrf.disable()) this I try too
                .addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
        return http.build();
    }


    @Bean
    CorsConfigurationSource corsConfigurationSource() {
        CorsConfiguration configuration = new CorsConfiguration();
        configuration.setAllowedOrigins(ImmutableList.of("*"));
        configuration.setAllowedMethods(ImmutableList.of("HEAD", "GET", "POST", "PUT", "DELETE", "PATCH"));
        configuration.setAllowedHeaders(ImmutableList.of("Authorization", "Cache-Control", "Content-Type", "authorization", "content-type", "x-auth-token"));
        configuration.setExposedHeaders(Arrays.asList("x-auth-token"));
        configuration.setAllowCredentials(true);
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", configuration);
        return source;
    }
}
@RequiredArgsConstructor
@Configurati
public class AuthenticationTokenFilter extends OncePerRequestFilter {

    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
        Integer userId = getUserIdByTokenFromVK(token);
        if (userId != null) {
            Set<GrantedAuthority> authorities = new HashSet<>();
            authorities.add(new SimpleGrantedAuthority("ROLE_USER"));

            User user = new User();
            user.setVkId(userId);
            user.setJwt(token);

            UsernamePasswordAuthenticationToken auth = new UsernamePasswordAuthenticationToken(user, null, authorities);
            SecurityContextHolder.getContext().setAuthentication(auth);
        }
        filterChain.doFilter(request, response);
    }

    private Integer getUserIdByTokenFromVK(String token) {
        String serviceToken = "484f88ba2b2c616503ffd3f4gsd3243f43grefsrgb923815d";
        String apiVersion = "5.154"; 
        CloseableHttpClient httpClient = HttpClients.createDefault();
        String url = "https://api.vk.com/method/secure.checkToken?access_token=" + serviceToken +
                "&token=" + token +
                "&v=" + apiVersion;
        HttpGet httpGet = new HttpGet(url);
        try {
            HttpResponse response = httpClient.execute(httpGet);
            HttpEntity entity = response.getEntity();
            if (entity != null) {
                String responseString = EntityUtils.toString(entity);;
                ObjectMapper objectMapper = new ObjectMapper();
                VKResponse vkResponse = objectMapper.readValue(responseString, VKResponse.class);

                if (vkResponse.getResponse() != null) {
                    return vkResponse.getResponse().getUserId();
                } else if (vkResponse.getError() != null) {
                    Integer errorCode = vkResponse.getError().getErrorCode();
                    String errorMsg = vkResponse.getError().getErrorMsg();
                    System.out.println("Error Code: " + errorCode);
                    System.out.println("Error Message: " + errorMsg);
                    return null;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                httpClient.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return null;
    }
}
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
//                .allowedOrigins("http://localhost:8080", "http://localhost:3000", "http://localhost:5173", "http://localhost:3001", "*")
                .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH")
                .allowedHeaders("Authorization", "Cache-Control", "Content-Type");
//                .allowedHeaders("*")
//                .allowCredentials(true);
    }

    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);
        config.addAllowedOrigin("*");
        config.addAllowedHeader("*");
        config.addAllowedMethod("POST");
        config.addAllowedMethod("GET");
        config.addAllowedMethod("DELETE");
        config.addAllowedMethod("PUT");
        source.registerCorsConfiguration("/**", config);
        return new CorsFilter(source);
    }
}

 , ,

mayar
()

Инструмент для планирования выполнения задач.

Всем привет. Нужен инструмент похожий на cron. Чтобы я мог со своего сервера добавлять на него запрос на этот же сервер и время в который этот запрос выполнится.

Запрос должен повторяться каждые 24 часа.

Это дело всё возможно удалять, добавлять, редактировать средствами сервера.

Думал по поводу кафки, но пока не представляю как это сделать.

Может есть какие-то специализированные средства.

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

Или может можно как-то cron интегрировать со spring чтобы менять ему инструкции из java и делать curlo’м например запрос на серв. Но честно говоря не вижу надёжным это решение, даже если это возможно.

UPD слово сервер выше понимается как веб-сервер

 

mayar
()

Как добавить windows в загрузчик manjaro.

Поставил сначала windows. Потом на неразмеченное пространство поставил manjaro. Когда загружаю компьютер могу продолжить только загрузку с manjaro. Загрузчик windwos будто пропал.

Как сделать так, чтобы при загрузке компьютера я могу выбрать между двумя системами?

upd

Вот что появляется после включения компьютера. https://ibb.co/BcLYj8H

Честно не очень разбираюсь в загрузчиках. Даже не знаю что надо предоставить, чтобы лучше объяснить как у меня сейчас всё это настроено.

Вот фотография вкладки boot в биосе. https://ibb.co/8cwKZxQ

В компе 2 диска. На одном коренль линуха, на втором хомяк линуха + винда

 

mayar
()

Как поставить packettracer на arch

Сейчас заблокирован доступ на netacad. Вариант с тем чтобы просто поставить packettracer и через него залогиниться в netacad и пользоваться не работает.

Также пытался использовать вариант поставить packet tracer 6.1 для студентов. С сайта скачал архив, где надо было установить программу выполнив в скрипт. После всех необходимых действий packettracer не запускался выдавая ошибку :

./PacketTracer6: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

Котрую пофиксить я так и не смог.

В общем буду невероятно рад любой помощи

 ,

mayar
()

Windows на внешний hdd при наличии linux на встроенном hdd

Основная ОС manjaro. Стоит на sda. Надо поставить windows 11 на внешний жёсткий диск с этого устройства так, чтобы не поломать manjaro. Как это сделать? Меня пугает то, что windows стирает загрзчик других операционных систем.

 ,

mayar
()

cannot import name 'BaseDirectory' from 'xdg'

дистрибутив manjaro

ставлю protonvpn

Установил его из AUR пакетов.

Установил командой sudo pamac build protonvpn

Действовал по этому гайду https://protonvpn.com/support/official-linux-client-arch/

При попытке запуска программы protonvpn появляется ошибка

Traceback (most recent call last):
  File "/usr/bin/protonvpn", line 33, in <module>
    sys.exit(load_entry_point('protonvpn-gui==1.9.0', 'console_scripts', 'protonvpn')())
  File "/usr/bin/protonvpn", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3.10/site-packages/protonvpn_gui/main.py", line 16, in <module>
    from protonvpn_nm_lib.api import protonvpn
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/api.py", line 2, in <module>
    from .core.country import Country
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/core/__init__.py", line 3, in <module>
    from ..constants import APP_CONFIG, APP_VERSION, LOGGER_NAME
  File "/usr/lib/python3.10/site-packages/protonvpn_nm_lib/constants.py", line 8, in <module>
    from xdg import BaseDirectory
ImportError: cannot import name 'BaseDirectory' from 'xdg' (/home/vithar/.local/lib/python3.10/site-packages/xdg/__init__.py)

Если попробовать командой sudo protonvpn то появится окно с сообщением об ошибке.

Environment variable DBUS_SESSION_BUS_ADDRESS is unset 

 , ,

mayar
()

Flutter websocket + spring. WebSocketChannelException: [object Event]

Уже второй день не могу сделать так, чтобы в моё мобильное приложение на flutter приходили сообщения через websocket.

Как я понял, я использую StompClien для работы с Websocket message broker

Из логов только одна ошибка: WebSocketChannelException: [object Event]

В интернете нигде не смог найти информации ни по этой ошибке ни по тому как всё таки работать с вебсокетами на flutter.

Буду безмерно благодарен любой помощи!

Конфиг из spring:

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {


    @Override
    public void configureMessageBroker(final MessageBrokerRegistry registry) {
        registry.enableSimpleBroker("/topic");
        registry.setApplicationDestinationPrefixes("/ws");
    }

    @Override
    public void registerStompEndpoints(final StompEndpointRegistry registry) {
        registry.addEndpoint("/our-websocket").withSockJS(); 
    }
}

Код flutter:

StreamController<List<String>> streamController = StreamController();
String ws_url = "ws://localhost:8080/our-websocket/websocket";
String destination = "/topic/messages";
String message_destination = "/ws/message";
var _listMessage = <String>[];

void main() {
  runApp(MaterialApp(
    debugShowCheckedModeBanner: false,
    home: MyApp(),
  ));
}

void onConnect(StompFrame frame) {
  stompClient.subscribe(
    destination: destination,
    callback: (frame) {
      Map<String, dynamic> result = json.decode(frame.body!);
      //receive Message from topic
      _listMessage.add(result['content']);

      //Observe list message
      streamController.sink.add(_listMessage);
    },
  );
}

final stompClient = StompClient(
  config: StompConfig(
    url: ws_url,
    onConnect: onConnect,
    onWebSocketError: (dynamic error) => print(error.toString()),
  ),
);

...(отрисовка приложения)

Вебсокет на спринге работает если в качестве фронтенда использовать веб приложение. Js отлично выполняет то что я хочу чтобы он выполнял.

Перемещено Dimez из general

 , , ,

mayar
()

Установка Arch Linux. После перезагрузки, вместо системы появляется терминал grub.

Устанавливал Arch linux по этому гайду: https://drive.google.com/file/d/1dbCDF_XZXjpoCywNbhanshVlO2Aoo2Gq/view

К нему прилагалось это видео: https://www.youtube.com/watch?v=qKvnVPNAF3cВ

На виртуальной машине всё работало без проблем, но на реальном устройстве после того как поставил загрузчик и вызвал reboot ничего не обнаружил, кроме терминала grub.

Также заметил, что из меню boot в биосе пропали все системы. До этого была винда на втором диске.

В чём может быть проблема?

 , ,

mayar
()

Где разрабатывать оконные приложения на c#

Мне нужно быстро сделать оконное приложение на с#. Удобнее всего использовать для этого Visual Studio, так как по ней много гайдов и есть встроенная программа для того, чтобы в визуальном режиме размещать на окне кнопки, text area и т.д. Но на ubuntu я не могу установить Visual Studio. Чем можно заменить её или какие ещё есть способы сделать быстро не очень сложную форму? Wine отказался устанавливать по причине отсутствия dotnet в системе.

До этого писал приложения которые не требовали оконного интерфейса с помощью такой штуки: ссылка на сайт и VsCode

Ps

Прошу не давать советы по типу: "установи windows"или «накати на флешку, второй диск, виртуальную машину и т.д». Хочу обойтись без windows

 , ,

mayar
()

Сломал систему, как запустить

Возникла проблема с пакетами python

Переустановитл python, ещё немного покапался с пакетами и решил перезагрузить пк

Теперь уже минут 5 чёрный экран и написано

''' /dev/sda2: clean, 679084/7782400 files, 13987832 blocks '''

У меня нет идей(

 ,

mayar
()

Перестал работать telegram и discord

Работаю в ubuntu20.04 LTS

Приложения работали вполне корректно, но после очередного перезапуска системы нажимаю на приложения и ничего не происходит

Логи в /var/log/syslog такие(для телеги):

Aug 31 10:51:03 silenus1 telegram-desktop_telegram-desktop.desktop[9340]: env: «/snap/bin/telegram-desktop»: Нет такого файла или каталога
Aug 31 10:51:03 silenus1 zeitgeist-datah[2602]: zeitgeist-datahub.vala:210: Error during inserting events: GDBus.Error:org.gnome.zeitgeist.EngineError.InvalidArgument: Incomplete event: interpretation, manifestation and actor are required
Aug 31 10:51:03 silenus1 gnome-shell[1991]: Could not create transient scope for PID 9340: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 9340 does not exist.

Подскажите где и каким образом искать проблему?

 , , ,

mayar
()

Проблемы с установкой tomcat

Нужен томкэт чтобы работать со spring.

Сначала установил томкэт по одному мануалу. У меня не получилось. Демон работал, и даже можно было на страницу зайти по localhost но в идее он не работал. Не хватало, то ли конфигов, то ли путь я не правильно указал.

После этого, я не придумал ничего лучше, как удалить его и поставить томкэт по другому мануалу. После выполнения различных действий томкэт вроде бы установлен. Но в inteliji idea он также не читается и демон с томкэтом не работает.

На команду systemctl status tomcat выдаёт:

tomcat.service - Apache Tomcat Web Application Container
     Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
     Active: inactive (dead)

авг 05 08:27:09 silenus1 systemd[1]: /etc/systemd/system/tomcat.service:12: Invalid environment assignment, ignoring: ’CATALINA_OPTS=-Xms512M
авг 05 08:27:09 silenus1 systemd[1]: /etc/systemd/system/tomcat.service:12: Invalid environment assignment, ignoring: -Xmx1024M
авг 05 08:27:09 silenus1 systemd[1]: /etc/systemd/system/tomcat.service:12: Invalid environment assignment, ignoring: -server
авг 05 08:27:09 silenus1 systemd[1]: /etc/systemd/system/tomcat.service:12: Invalid environment assignment, ignoring: -XX:+UseParallelGC’
авг 05 08:27:09 silenus1 systemd[1]: /etc/systemd/system/tomcat.service:13: Invalid environment assignment, ignoring: ’JAVA_OPTS.awt.headless=true
авг 05 08:27:09 silenus1 systemd[1]: /etc/systemd/system/tomcat.service:13: Invalid environment assignment, ignoring: -Djava.security.egd=file:/dev/v/urandom’

Если к моему вопросу нужны дополнения, то я пришлю то, что будет необходимо.

Просто я даже не знаю куда копать, и в каких директориях искать томкэт чтобы исправить ошибки.

 , ,

mayar
()

Ошибка при установки mysql-server

Сначала установил mysql-server и phpmyadmin.

Всё было успешно, но возникли некоторые проблемы с конфигурацией и я решил удалить и то и другое и установить заново.

Удалить получилось но установить снова не получается.

Пытаюсь выполнить sudo apt install mysql-server

Вывод:

dpkg: ошибка при обработке пакета mysql-server-8.0 (--configure):
 installed mysql-server-8.0 package post-installation script subprocess returned error exit status 2
Отчёт apport не записан, так как сообщение об ошибке указывает на повторную ошибку от предыдущего отказа
.
 dpkg: зависимости пакетов не позволяют настроить пакет mysql-server:
 mysql-server зависит от mysql-server-8.0, однако:
  Пакет mysql-server-8.0 пока не настроен.

dpkg: ошибка при обработке пакета mysql-server (--configure):
 проблемы зависимостей — оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
 mysql-server-8.0
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

В общем я не понимаю что происходит так как немного запутался во всех настройках и установках.

Буду благодарен любой помощи.

 ,

mayar
()

Куда лучше примонтировать второй диск.

Стоит ubuntu 20.04 Есть 2 диска одни примерно 120 гигов, второй один терабайт. Система стоит на диске который на 120 гигов, а второй диск просто не используется.

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

Я не планирую хранить на компе много фоток видео и т.д. То есть папка home не будет сильно занята. Но я скорее всего буду устанавливать много программ которые занимают много места. По типу всяких редакторов кода, изображений и т.д. Значит надо примонтировать к usr, но возможно ли это сделать и стоит ли это делать?

Может быть я вообще не прав и есть какие-то места в linux куда стоит закинуть побольше памяти?

Буду благодарен за консультацию по этому вопросу.

 , ,

mayar
()

После перезагрузки Ubuntu 20.04 LTS постарела.

В общем, я установил OpenOffice, следом попытался установить unity. Возникли проблемы с пакетами. Я попытался их исправить но не смог и забил на это. Поработал немного в системе и выключил комп.

После того как я снова его включил ubuntu в прямом смысле как-будто постарела… На рабочем столе уже нельзя расставлять папки так как я захочу, появился другой экран блокировки. Манипуляции с окном типа закрыть расширить и тд теперь слева а не справа и куча других подобных изменений, которые напоминают старые версии ubuntu.

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

Попытавшись устранить самостоятельно починил проблему с пакетами которая висела в виде восклицательного знака в красном кружке на панели сверху экрана справа.

Кто знает что за сатанизм произошёл, пока комп был выключен?

 

mayar
()

Как удалить основной раздел жёсткого диска

Нуждаюсь в совете!

Мне необходимо отформатировать жёсткий диск. Но я столкнулся со следующей проблемой:

Есть 2 диска С и D

На С стоит windows с которой я и хочу это сделать

Диск D частично использует windows и частично на нём стоит Unix При попытке объединить все разделы диска D возникает такая, проблема, что один из его разделов является ОСНОВНЫМ разделом. И я не могу ничего с ним сделать.

Как мне форматировать основной раздел? Может это надо делать из биоса как-то?

А вообще я полез это делать по тому что хочу переустановить систему, но у меня не получается это сделать из-за того, что в биосе при загрузке можно выбрать теперь только то какую систему из этих загрузить, а пункт загрузить с флешки отсутствует.

Буду очень благодарен вам за помощь!

Если я что-то не так описал или вопрос нуждается в дополнении, пожалуйста напишите об этом.

 , ,

mayar
()

Как удалить дистрибутив linux из подсистемы

Решил я установить другой дистрибутив linux на подсистему(windows wsl), но нигде не могу найти как удалить старый. Пытался командой lxrun /uninstall Но в ответ на неё получаю: lxrun : Имя «lxrun» не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку

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

 ,

mayar
()

R-дерево

Кто-нибудь может объяснить как работает R-дерево? Мне надо реализовать библиотеку на java в которой будет r-дерево. Но в интернете я так и не смог найти нормальной информации по тому как оно работает, как реализуется вставка, удаление, поиск элементов и т.д. И вообще почему его используют и чем оно хорошо. Буду рад любой информации(Объяснение работы, ссылка на книгу, страницу, код и т.д.).

 

mayar
()

RSS подписка на новые темы