Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Profile not listed #3

Closed
ev-agelos opened this issue Apr 13, 2017 · 16 comments
Closed

Profile not listed #3

ev-agelos opened this issue Apr 13, 2017 · 16 comments
Labels
Milestone

Comments

@ev-agelos
Copy link

I ran the nord.sh but could not see the profile listed even after restarting terminal.
Tried to search for it but could not find it even my own profile couldnt find.

I use mint 18.1
Did not know anything about dconf-editor or gconf-editor so i installed both to see my self.
I have 3 profiles now: default, my own and nord.

In dconf i can see the default and my own while in gconf I can see nord(but not the other two)!

I remember reading "migrating profiles on linux mint 18" in my search results while i was searching whats going on so maybe gconf was old way or something and dconf is new? (and i assume u create the profile with the old way thus is not listed in profiles?)

@bdfish
Copy link

bdfish commented Apr 13, 2017

debian9 with gnome 3.22.2 has the same problem

@arcticicestudio
Copy link
Contributor

arcticicestudio commented Apr 17, 2017

It seems like these distributions do not manage their dependency policy correctly. I've searched for similar issues and you may need to install the dconf-tools (Mint, Debian) package.
Maybe you should install all dconf related packages like

  • dconf-gsettings-backend to ensure GSettings compatibility (Mint, Debian
  • dconf-cli to ensure full CLI support (Mint, Debian)
  • dconf-service to ensure D-Bus support for the GSettings backend (Mint, Debian)

Would be nice if you can test if this fix the problem since I'm running on Arch Linux running GNOME 3.24 which would distort the results. If this does not fix the problem I'll set up some VirtualBox container to investigate the cause.

@bdfish
Copy link

bdfish commented Apr 17, 2017

After i install all of dconf-* you list, then run nord.sh, my current profile will be deleted.
then i test this https://github.com/Mayccoll/Gogh ,i have got same result.
So this issue may be caused by debian

@arcticicestudio
Copy link
Contributor

arcticicestudio commented Apr 17, 2017

Sorry to hear that, this should never happen! Are you sure it got deleted or is is only being hidden on the list but still available via the dconf-editor?

The Gogh project you've linked to makes use of the same script code so the script itself can still cause this issue, but the origin issue can be dconf which changed its functional behaviour or contains a bug.

I see what I can do to reproduce this.

@bdfish
Copy link

bdfish commented Apr 17, 2017

All of themes i installed is visible in dconf-editor ,but they are hidden in gnome-terminal preferences-profiles
Here are two pictures
screenshot from 2017-04-17 22-50-46
screenshot from 2017-04-17 22-54-20

@bdfish
Copy link

bdfish commented Apr 17, 2017

It seems that someone else has the same problem
Gogh-Co/Gogh#63

@arcticicestudio
Copy link
Contributor

arcticicestudio commented Apr 25, 2017

I've tried to reproduce this problem today, but when I run the script the new profile Nord is visible and works fine.
@ev-agelos Can you post which version of the GNOME terminal (GNOME version) is installed on Mint 18? I've tested it successfully for GNOME 3.20, 3.22.1 and 3.24.

@bdfish The list of profiles on your screenshot looks strange, all profiles should have UUIDs as name and the Nord theme generates one too, normally it should not be called :nord.
Can you please

  1. create a backup of your used profiles
  2. delete all profiles
  3. install the Nord theme via the nord.sh script
  4. check if the new created profile name is a random UUID

Maybe Mint 18 changed one of the packages the script depends on like the random UUID generator.

@ev-agelos
Copy link
Author

@arcticicestudio I have gnome 3.18.3, i guess in the next versions it will work out of the box. I managed to copy-paste manually the nord color values etc so I found a workaround.

@bdfish
Copy link

bdfish commented Apr 27, 2017

I did what you say,but the result is same, i delete some component of system,maybe issue caused by this, .And @ev-agelos 's solution is easy and useful,i have given up using nord.sh.

@arcticicestudio
Copy link
Contributor

I'll close this issue for now. I've tried to reproduce this using GNOME Terminal version 3.24.2 and it works fine. It seems like the issue is related to any distribution dependency problems.

@azmodude
Copy link

azmodude commented Sep 19, 2017

Since people seem to encounter this issue on Debian-based distributions and I just ran into this on a fresh Stretch install...
Apart from installing the various dconf-* utilities, the missing UUIDs @bdfish posted result from uuidgen not being installed. A quick apt-get -y install uuid-runtime later everything worked just fine.

@arcticicestudio
Copy link
Contributor

arcticicestudio commented Sep 19, 2017

@azmodude Thanks for the info, I'll add a note to the documentation that (next to dconf-tools) the uuid-runtime package must be installed before running the script.

@azmodude
Copy link

@arcticicestudio You're welcome. Thanks for your great colorscheme(s)!

@arcticicestudio arcticicestudio self-assigned this Sep 23, 2017
arcticicestudio added a commit that referenced this issue Sep 30, 2017
Added instructions for the installation script requirements. It
includes the used binaries, additional packages as mentioned in #3
and URLs for widely used distributions.

Related to GH-3

GH-10
@arcticicestudio
Copy link
Contributor

The requirements are now documented in #11.

@arcticicestudio arcticicestudio removed their assignment Oct 5, 2017
@arcticicestudio
Copy link
Contributor

arcticicestudio commented Oct 11, 2017

Related to #12

arcticicestudio added a commit that referenced this issue Oct 28, 2017
[Prehistory]

The profile script was no more usable due to a undocumented behavior
of "dconf resulting in whether overriden profiles or error messages.
The logic of the script worked previously, but the "dconf" or
"gsettings" API changed breaking the script (forks of "terminal.sexy"(1))
which's logic is used by almost all GNOME Terminal theme projects.

I've reported #789056 to the official GNOME bug tracker for the "dconf
component which got closed with the following reason:

> This is simply an error in your script: you're using dconf to read keys
that have never been written to. You need to use the gsettings tool
instead, which takes into account the schema so it can return the default
value in that case.

I tried to find the documentation where this behavior of "dconf" is
described, but it seems like this knowledge is only documented in the
code itself or internal developer documents.

[Description]

Since the script was never really optimized I decided to rewrite it to
fix issues like GH-12 and GH-3 and implement the following additional
features:

  * Profile Handling - the script is now able to detect available
  profiles and
    * clone the default profile if no specific profile has been
    specified - The script is able to get the UUID of the "default"
    profile and clone it
    * install the theme for a specific profile - the user can pass the
    name of the profile the theme should be installed to
    * handle already existing "Nord" profiles via version comparison -
    if the "Nord" profile already exists and the script version is less
    than the installed version the user must confirm whether to override
    the theme of abort the installation, otherwise the profile will be
      * updated if the script version is greater than the installed
        version
      * reinstalled if the installed version is equal to the script
        version
  * Log Level - the script now provides a option to allow the user to
    define the log level. Available log levels are
      * 0 - ERROR
      * 1 - WARNING
      * 2 - SUCCESS (default)
      * 3 - INFO
      * 4 - DEBUG
  * Dependency Management -  the script is able to validate all required
    dependencies to ensure the script can run on the executive
    environment which includes
    * dconf (dconf)
    * expr (coreutils)
    * gsettings (glib2)
    * uuidgen (util-linux)

References:
  (1) https://terminal.sexy
  (2) https://bugzilla.gnome.org/show_bug.cgi?id=789056

Fixes GH-12 and GH-3

GH-13
arcticicestudio added a commit that referenced this issue Oct 28, 2017
[Prehistory]

The profile script was no more usable due to a undocumented behavior
of "dconf resulting in whether overriden profiles or error messages.
The logic of the script worked previously, but the "dconf" or
"gsettings" API changed breaking the script (forks of "terminal.sexy"(1))
which's logic is used by almost all GNOME Terminal theme projects.

I've reported #789056 to the official GNOME bug tracker for the "dconf
component which got closed with the following reason:

> This is simply an error in your script: you're using dconf to read keys
that have never been written to. You need to use the gsettings tool
instead, which takes into account the schema so it can return the default
value in that case.

I tried to find the documentation where this behavior of "dconf" is
described, but it seems like this knowledge is only documented in the
code itself or internal developer documents.

[Description]

Since the script was never really optimized I decided to rewrite it to
fix issues like GH-12 and GH-3 and implement the following additional
features:

  * Profile Handling - the script is now able to detect available
  profiles and
    * clone the default profile if no specific profile has been
    specified - The script is able to get the UUID of the "default"
    profile and clone it
    * install the theme for a specific profile - the user can pass the
    name of the profile the theme should be installed to
    * handle already existing "Nord" profiles via version comparison -
    if the "Nord" profile already exists and the script version is less
    than the installed version the user must confirm whether to override
    the theme of abort the installation, otherwise the profile will be
      * updated if the script version is greater than the installed
        version
      * reinstalled if the installed version is equal to the script
        version
  * Log Level - the script now provides a option to allow the user to
    define the log level. Available log levels are
      * 0 - ERROR
      * 1 - WARNING
      * 2 - SUCCESS (default)
      * 3 - INFO
      * 4 - DEBUG
  * Dependency Management -  the script is able to validate all required
    dependencies to ensure the script can run on the executive
    environment which includes
    * dconf (dconf)
    * expr (coreutils)
    * gsettings (glib2)
    * uuidgen (util-linux)

References:
  (1) https://terminal.sexy
  (2) https://bugzilla.gnome.org/show_bug.cgi?id=789056

Fixes GH-12 and GH-3

GH-13
@arcticicestudio
Copy link
Contributor

The PR #14 includes the fix for this problem. It should now work on all distributions when the basic dependencies are installed. The legacy support for GNOME Terminal versions < 3.8 has been removed since the gconf long-time support for in most distributions will end this year anyway, next to the fact that there are no distributions that ship with GNOME < 3.8.

The compatibility with dconf has been improved by using the high-level API of GSettings instead.

It be nice for some feedback so this can be merged as soon as possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants