Como instalo o Redshift 1.12 no Linux Mint 19 Cinnamon da fonte?

1

Redshift

os pacotes disponíveis na maioria das distribuições datam de 2016-01-02, que é > 2,5 anos atrás.

Como no meu sistema - Linux Mint 19 Cinnamon 64-bit - existe apenas 1.11 version disponível:

$ apt-cache policy redshift
redshift:
  Installed: (none)
  Candidate: 1.11-1ubuntu1
  Version table:
     1.11-1ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages

Note que o Linux Mint 19 é baseado no ultimo Ubuntu 18.04.

Isso pode ser causado por muito pouco commit feito em versão 1.12 .

De qualquer maneira, eu pessoalmente acho que versão 1.12 é um passo crucial para a frente.

Pergunta

Enfim, minha pergunta é, como instalar a versão mais recente sem adicionar nenhum PPA?

Deixe-me reformular. Como faço para instalar Redshift 1.12 no Linux Mint 19 Canela da fonte?

Por favor, inclua configurações básicas e configuração, pois ainda não estou familiarizado com suas configurações.

    
por Vlastimil 06.10.2018 / 03:58

2 respostas

3

Como você está em um derivado do Debian, você pode reconstruir as fontes empacotadas da versão 1.12:

cd ${TMPDIR:-/tmp}
sudo apt install devscripts debian-keyring
dget -x http://deb.debian.org/debian/pool/main/r/redshift/redshift_1.12-2.dsc
cd redshift-1.12
sudo apt build-dep redshift
dpkg-buildpackage -us -uc
sudo dpkg -i ../redshift{,-gtk}_1.12-2_*.deb

Há várias vantagens em relação à instalação diretamente da fonte:

  • você não precisa limpar os pacotes existentes;
  • o software atualizado ainda é gerenciado pelo sistema de gerenciamento de pacotes;
  • futuras atualizações no pacote serão aplicadas sem precisar recriar novamente (ou desinstalar o software instalado manualmente e instalar o pacote).

Se a configuração precisar ser revisitada, consulte //unix.stackexchange.com/a/473588/86440">answer para detalhes.

    
por 06.10.2018 / 09:30
1

Compilação

Você pode pular esta seção se tiver experiência, pois não encontrará nada de novo aqui.

Primeiro, precisamos limpar a versão antiga do sistema.

Ao compilar, eu sempre limpo em vez de remover, porque geralmente alguns caminhos mudam.

sudo apt-get purge redshift redshift-gtk

Então, nos preparamos para a compilação. Felizmente, neste caso, isso pode ser feito simplesmente com:

sudo apt-get build-dep redshift-gtk

provavelmente porque as dependências não mudaram desde a última versão empacotada.

Agora, precisamos do código fonte, eu sempre crio uma nova pasta para um programa compilado, então:

mkdir redshift && cd redshift

Seguido pelo download do código-fonte:

wget https://github.com/jonls/redshift/releases/download/v1.12/redshift-1.12.tar.xz

E descompactar o arquivo, enquanto, novamente, vai diretamente para o diretório criado:

tar -xJf redshift-1.12.tar.xz && cd redshift-1.12

Vamos executar o script configure com as chaves apropriadas:

./configure # --enable-gui --enable-ubuntu

Em uma nota lateral, enquanto o --enable-gui foi habilitado por padrão, ele não habilitou o --enable-ubuntu por padrão no meu Linux Mint, o que eu acredito que deveria. No entanto, não vejo diferença, de qualquer maneira. Então, a configuração padrão é provavelmente ok.

Basta compilar:

make

Configuração

Você terá que criar manualmente o diretório de configuração conforme ele é movido nesta versão, embora volte atrás caso o diretório não exista:

mkdir ~/.config/redshift

Use seu editor de texto favorito para criar e editar o arquivo de configuração, vou usar o VS Code aqui:

code ~/.config/redshift/redshift.conf

Exemplo de arquivo de configuração muito comentado.

; Global settings
[redshift]

; Set the location-provider: 'geoclue2', 'manual'
; type 'redshift -l list' to see possible values.
; The location provider settings are in a different section.
location-provider=manual

; this has changed since this version in favor of randr
; formerly vidmode has been mostly used from what I read
adjustment-method=randr

; Disable the smooth fade between temperatures when Redshift starts and stops.
; 0 will cause an immediate change between screen temperatures.
; 1 will gradually apply the new screen temperature over a couple of seconds.
fade=0

; Solar elevation thresholds.
; By default, Redshift will use the current elevation of the sun to determine
; whether it is daytime, night or in transition (dawn/dusk). When the sun is
; above the degrees specified with elevation-high it is considered daytime and
; below elevation-low it is considered night.
;elevation-high=3
;elevation-low=-6

; Custom dawn/dusk intervals.
; Instead of using the solar elevation, the time intervals of dawn and dusk
; can be specified manually. The times must be specified as HH:MM in 24-hour
; format.
;dawn-time=6:00-7:45
;dusk-time=18:35-20:15


; The location provider and adjustment method settings
; are in their own sections.
; Configuration of the location-provider:
; type 'redshift -l PROVIDER:help' to see the settings.
; ex: 'redshift -l manual:help'
; Keep in mind that longitudes west of Greenwich (e.g. the Americas)
; are negative numbers.
[manual]
lat=00.8
lon=00.1

; Configuration of the adjustment-method
; type 'redshift -m METHOD:help' to see the settings.
; ex: 'redshift -m randr:help'
; In this example, randr is configured to adjust only screen 0.
; Note that the numbering starts from 0, so this is actually the first screen.
; If this option is not specified, Redshift will try to adjust _all_ screens.
[randr]
screen=0

Instalação

Eu recomendo testar a versão compilada antes de realmente instalá-la.

Por alguma razão, o binário compilado do GTK não é executado como executável, portanto, para testá-lo:

chmod u+x ./src/redshift-gtk/redshift-gtk
./src/redshift-gtk/redshift-gtk

Se funcionar bem, instale-o com:

sudo make install
    
por 06.10.2018 / 03:58