GithubHelp home page GithubHelp logo

pentix / qjournalctl Goto Github PK

View Code? Open in Web Editor NEW
150.0 10.0 18.0 297 KB

A multi-platform, Qt-based frontend for systemd's journalctl command. Accepting local as well as remote (SSH) data sources.

License: GNU General Public License v3.0

Shell 1.39% QMake 2.93% C++ 91.19% C 0.35% Dockerfile 0.75% Makefile 0.66% Batchfile 2.72%
systemd journalctl gui system-administration ssh logviewer logging journal

qjournalctl's Introduction

Hi there 👋😄

Here you'll find some of my projects that I've been working on in the past years.

Some are stale, some are still active projects, however I also do have a lot of unrealized ideas I could not fully pursue yet.

qjournalctl's People

Contributors

alacasta avatar brenard avatar city-busz avatar dopsi avatar freddii avatar marcool04 avatar pentix avatar stellarpower avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qjournalctl's Issues

Taking wrong version of qt

When compiling with ./autogen.sh && make, it fails to compile because of:

./ui_mainwindow.h: In member function ‘void Ui_MainWindow::setupUi(QMainWindow*)’:
./ui_mainwindow.h:114:20: error: ‘class QTableView’ has no member named ‘setSizeAdjustPolicy’; did you mean ‘setSizePolicy’?
         tableView->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents);
                    ^~~~~~~~~~~~~~~~~~~
                    setSizePolicy
./ui_mainwindow.h:114:61: error: ‘AdjustToContents’ is not a member of ‘QAbstractScrollArea’
         tableView->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents);

However I believe it's because it tries to use qt4 compiler instead of qt5. It should not use qt4 compiler at any moment I guess.

failed to start after compilation on xubuntu 18.04

when i try to start qjournalctl it exits with:
./qjournalctl: /usr/lib/x86_64-linux-gnu/libssh.so.4: no version information available (required by ./qjournalctl) ./qjournalctl: relocation error: ./qjournalctl: symbol ssh_session_is_known_server version LIBSSH_4_5_0 not defined in file libssh.so.4 with link time reference

for installation i used this script:
https://raw.githubusercontent.com/freddii/program_installers/master/install_qjournalctl.sh

[windows][bug] Unexpected crash when new connection wizard is cancelled

Environment

OS: Windows
Steps:

  1. Open QJournalctl
  2. Go to remote > edit saved Connections > New
  3. Click on Cancel
    (See screenshot)

Triage

The problem seems to be related to how the pointer is being released. I don't know if this is a memory leak or if actually the object is being used by another instance. This kind of behaviours are exactly the reason to exist for the c++11 smart pointers. Maybe with them this can be easier managed.

image

Clicking on the priority bar resets its value to minimum/maximum with no effects

When you click on priority bar near a item, for instance just above "error", this toggles the priority to the minimum/maximum. If you click multiple times, the bar changes from min to max to min etc.
This does not change the actual priority however, since the level of logs displayed is always the same. To make an actual change, you have to slide the bar manually.

I can produce a video record if needed.

Bug: Remote log is not accessible

What?

Using Windows, it is not currently possible to access to the logging. All the buttons are disabled

image

Steps to reproduce

  1. Click on one existing connection and establish the connection. Then, the panel is displayed as follows
    image

  2. Click on List all available boots. They are displayed

image

➡️ Check that no entry is selectable and if you click on show boot log, nothing happens

[Release] Integrating in appveyor the pre-compiled package for Linux

What?

As a Linux User, I want to have the QJournalctl application ready to be used without needing to compile it.

How?

So far, it is already integrated such feature at appveyor for windows. It is now possible to get it from https://ci.appveyor.com/project/pentix/qjournalctl/builds/31801115 > artifacts > release.zip. (i.e. https://ci.appveyor.com/api/buildjobs/mo40lkrya80svedb/artifacts/release.zip)

It is possible to configure appveyor to have both, the release for Linux and for Windows. Also, it is possible to connect it with Github to release them into the released at Github, but probaby this step is better to handle manualy until #47 is solved

Restructure code

Outsource non-UI code from showbootlog.cpp

This has become really unclear...

Filter identifiers with checkboxes

It would be a lot better to have a dialog box showing a list of all identifiers in the current log, with checkboxes to show/hide, instead of the text field we have now.

[Windows] Fix linker LIBS for Linux build in project file

It turns out the Linux build of the windows-build branch currently fails, since qmake adds the VCPKG_Folder path to the linker libraries...

The else branch in the project file is somehow not linked to the CONFIG(x86_64) section but rather to the win32: option, adding the libraries to the linker.

Could you have a look at this? @alacasta

The reason this hadn't been detected earlier is because the CI was actually quite painful to setup and I limited myself to running CI always on the master branch 🙄

Compilation errors

I'm running debian testing with libqt4-dev version 4.8.7+dfsg-11.

There are several compilation errors which I don't find easy to solve and since I havn't done any qt development for years, I'm a bit stuck:

./ui_mainwindow.h:108:20: error: ‘class QTableView’ has no member named ‘setSizeAdjustPolicy’; did you mean ‘setSizePolicy’?
         tableView->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents);
                    ^~~~~~~~~~~~~~~~~~~
                    setSizePolicy
./ui_mainwindow.h:108:61: error: ‘AdjustToContents’ is not a member of ‘QAbstractScrollArea’
         tableView->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents);

and:

In file included from src/showbootlog.cpp:9:0:
./src/showbootlog.h:36:53: error: ‘QDateTime’ does not name a type; did you mean ‘QTime’?
     void on_sinceDateTimeEdit_dateTimeChanged(const QDateTime &dateTime);
                                                     ^~~~~~~~~
                                                     QTime
./src/showbootlog.h:38:53: error: ‘QDateTime’ does not name a type; did you mean ‘QTime’?
     void on_untilDateTimeEdit_dateTimeChanged(const QDateTime &dateTime);
                                                     ^~~~~~~~~
                                                     QTime
src/showbootlog.cpp:159:6: error: prototype for ‘void ShowBootLog::on_sinceDateTimeEdit_dateTimeChanged(const QDateTime&)’ does not match any in class ‘ShowBootLog’
 void ShowBootLog::on_sinceDateTimeEdit_dateTimeChanged(const QDateTime &dateTime)
      ^~~~~~~~~~~
In file included from src/showbootlog.cpp:9:0:
./src/showbootlog.h:36:10: error: candidate is: void ShowBootLog::on_sinceDateTimeEdit_dateTimeChanged(const int&)
     void on_sinceDateTimeEdit_dateTimeChanged(const QDateTime &dateTime);
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/showbootlog.cpp:164:6: error: prototype for ‘void ShowBootLog::on_untilDateTimeEdit_dateTimeChanged(const QDateTime&)’ does not match any in class ‘ShowBootLog’
 void ShowBootLog::on_untilDateTimeEdit_dateTimeChanged(const QDateTime &dateTime)
      ^~~~~~~~~~~
In file included from src/showbootlog.cpp:9:0:
./src/showbootlog.h:38:10: error: candidate is: void ShowBootLog::on_untilDateTimeEdit_dateTimeChanged(const int&)
     void on_untilDateTimeEdit_dateTimeChanged(const QDateTime &dateTime);
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Build fails on Debian 9 Arm64 (4GB machine)

I am attempting to build the app on Debian 9 ARM64 with 4 GB of memory and am getting these "out of memory" errors. Any suggestions?

$ make
/usr/lib/aarch64-linux-gnu/qt5/bin/qmake -spec linux-g++ CONFIG+=release -o Makefile qjournalctl.pro
In file /build/qtbase-opensource-src-8BZmR5/qtbase-opensource-src-5.7.1+dfsg/include/QtCore/../../src/corelib/tools/qvector.h, line 544: Out of memory
Makefile:207: recipe for target 'Makefile' failed
make: *** [Makefile] Aborted

Add .desktop file

Thanks for publishing on the AUR. Would you consider adding a desktop file for use with DE/WMs?

Thanks!

Unable to compile v.0.3, v.0.4 and git master on Ubuntu Xenial Xerus (16.04 LTS)

I have installed all needed dependencies:

sudo apt-get install qt5-default cmake gcc g++ build-essential git

Cloned your repository and started compilation

git clone https://github.com/pentix/qjournalctl.git
cd qjournalctl
./autogen.sh
make

and got the following error:

xenial@xenial-vb:~/Downloads/qjournalctl$ make
/usr/lib/x86_64-linux-gnu/qt5/bin/uic ui/mainwindow.ui -o ui_mainwindow.h
/usr/lib/x86_64-linux-gnu/qt5/bin/uic ui/aboutdialog.ui -o ui_aboutdialog.h
/usr/lib/x86_64-linux-gnu/qt5/bin/uic ui/showbootlog.ui -o ui_showbootlog.h
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o main.o src/main.cpp
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o mainwindow.o src/mainwindow.cpp
src/mainwindow.cpp:61:3: warning: identifier ‘nullptr’ is a keyword in C++11 [-Wc++0x-compat]
   message_box.critical(nullptr, "Error", "No boots have been found :\n"+process.readAllStandardError());
   ^
In file included from src/mainwindow.cpp:12:0:
src/showbootlog.h:53:17: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
  bool sinceFlag=false, untilFlag=false;
                 ^
src/showbootlog.h:53:34: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
  bool sinceFlag=false, untilFlag=false;
                                  ^
src/showbootlog.h:54:23: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
  bool completeJournal=false;
                       ^
src/showbootlog.h:55:16: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
  bool realtime=false;
                ^
src/showbootlog.h:56:15: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
  bool reverse=false;
               ^
src/showbootlog.h:57:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
  int maxPriority=3;
                  ^
src/showbootlog.h:58:24: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
  int numberOfBytesRead=0;
                        ^
src/showbootlog.h:59:26: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11
  QString identifierFlags="";
                          ^
src/mainwindow.cpp: In member function ‘void MainWindow::on_listBootsButton_clicked()’:
src/mainwindow.cpp:61:24: error: ‘nullptr’ was not declared in this scope
   message_box.critical(nullptr, "Error", "No boots have been found :\n"+process.readAllStandardError());
                        ^
src/mainwindow.cpp: At global scope:
src/mainwindow.cpp:141:64: warning: unused parameter ‘index’ [-Wunused-parameter]
 void MainWindow::on_tableView_doubleClicked(const QModelIndex &index)
                                                                ^
src/mainwindow.cpp:172:58: warning: unused parameter ‘index’ [-Wunused-parameter]
 void MainWindow::on_tableView_clicked(const QModelIndex &index)
                                                          ^
Makefile:371: recipe for target 'mainwindow.o' failed
make: *** [mainwindow.o] Error 1

So your great program does not compile on LTS Ubuntu version.
Only previous v.0.21 version compiles normally on Ubuntu.
IMHO creating software only for bleeding-edge Arch is not good idea.

Note: first seen on AskUbuntu.

[filter] Colorize each log line matching some regex

What?

As a user, I want to highlight with some unique color each row that matches some regular expression to be able to make a diagnosis faster.

How?

The proposal would be

  • To be able to add a new regex to be colored
  • To be able to especify a color for filter
  • To display each row which matches the filter with that color
  • To change the font of the rest of the logging that is not affected by the filter, to gray.

Add a `Show current boot` button

I would like to see a Show current boot button on the main window, since this is usually what I do (I think most people tend to look a the current boot), so as to avoid the boot listing.

If you believe it is a good idea, I can work on implementing it.

No qmake in Fedora

I tried to build qjournalctl on Fedora 31.

$ ./autogen.sh 
./autogen.sh: line 3: qmake: command not found

Then I edit autogen.sh and change qmake with qmake-qt5. Now I can build.
So qjournalctl should check qmake on system and correct qmake name before building.

[Windows] Setup Appveyor

Should we open an issue to effectivelly setup appveyor? I have mine ready, but i'd prefer to assciate to your account since you are the owner of the codebase. I can provide you some support when setting it up to avoid this "fix CI" commits btw :) In fact, it would be nice if we coul have automated the release process for both, linux and windows and also connect this with #47 for a better versioning. If you agree

  • We can open a ticket specifically for this
  • You can manage on your own and we can keep discussing it via e-mail

Originally posted by @alacasta in #45 (comment)

Ready-to-use package

It would be super convenient if qjournalctl could be launched without having to build it first. There are (too?) many solutions for that:

  • docker
  • snap
  • flatpak
  • .deb etc. packages
  • something else?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.