Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

nombre réponses : 25

#0 Re : -1 »  [awesome]installation et configuration (surtout config :P ) » Le 09/12/2014, à 22:07

omnimax
Réponses : 201

Bonsoir tout le monde,

j'aimerais trouver le moyen pour mieux distinguer ma fenêtre qui a le focus de celle qui ne l'a pas.

il y a t-il moyen de donner moins d'opacité à une fenêtre inactive ?

voilà ce que j'ai rajouté dans mon rc. lua mais sans changement significatif :

...
client.add_signal("focus", function(c) c.border_color = beautiful.border_focus
c.opacity = 1
 end)
client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal
c.opacity = 0.5
 end)
....

#1 Re : -1 »  [awesome]installation et configuration (surtout config :P ) » Le 10/12/2014, à 09:13

omnimax
Réponses : 201

oups j'avais oublié xcompmgr

résolu

#2 Re : -1 »  [awesome]installation et configuration (surtout config :P ) » Le 27/12/2014, à 18:47

omnimax
Réponses : 201

Deuxième souci et bien plus embêtant je remarque que le premier lancement de chaque appli demande énormément de temps là où sur une session ubuntu c'est instantané.
J'ai installé preload pour précharger mes applications mais rien n'y fait

sous ubuntu > gedit & > instantané
sous awesome > gedit & >  10 secondes

après lorsque l'appli a été lancée une fois l'appel est instantané.

Avez-vous une idée sur ce qui coince chez moi ?

si jamais mon rc.lua

-- Standard awesome library
require("awful")
require("awful.autofocus")
require("awful.rules")
-- Theme handling library
require("beautiful")
-- Notification library
require("naughty")
require("vicious")
require("revelation")

-- {{{ Variable definitions
-- Themes define colours, icons, and wallpapers
beautiful.init("/home/syst/.config/awesome/themes/theme.lua")

-- This is used later as the default terminal and editor to run.
-- terminal = "urxvt"
terminal = "gnome-terminal"
editor = os.getenv("EDITOR") or "vim"
editor_cmd = terminal .. " -e " .. editor

-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"

-- Titlebar
use_titlebar = false


-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
{
    awful.layout.suit.floating, --1
    awful.layout.suit.tile, --2
    awful.layout.suit.tile.left, --3
    awful.layout.suit.tile.bottom, --4
    awful.layout.suit.tile.top, --5
    awful.layout.suit.fair, --6
    awful.layout.suit.fair.horizontal, --7
    awful.layout.suit.spiral, --8
    awful.layout.suit.spiral.dwindle, --9
    awful.layout.suit.max, --10
    awful.layout.suit.max.fullscreen, --11
    awful.layout.suit.magnifier --12
}
-- }}}

-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
tags.settings = {
    { name = "1",  layout = layouts[2] },
    { name = "2", layout = layouts[2] },
    { name = "3", layout = layouts[2] },
    { name = "4", layout = layouts[2] },
    { name = "5", layout = layouts[2] },
    { name = "6", layout = layouts[2] },
    { name = "7", layout = layouts[2] },
    { name = "8", layout = layouts[2] },
}
for s = 1, screen.count() do
    tags[s] = {}
    for i, v in ipairs(tags.settings) do
        tags[s][i] = tag({ name = v.name })
        tags[s][i].screen = s
        awful.tag.setproperty(tags[s][i], "layout", v.layout)
    end
    tags[s][1].selected = true
end
-- }}}

-- {{{ Menu
-- Create a laucher widget and a main menu
myawesomemenu = {
   { "Manual", terminal .. " -e man awesome" },
   { "Edit config", editor_cmd .. " " .. awful.util.getdir("config") .. "/rc.lua" },
   { "Edit theme", editor_cmd .. " " .. awful.util.getdir("config") .. "/home/syst/.config/awesome/themes/theme.lua" },
   { "Restart", awesome.restart },
   { "Quit", awesome.quit },
   { "Oblogout", "oblogout" }
}
internetmenu = {   
   { "Iron", "iron" },
   { "Jdowloader", "jdownloader" },
   { "Opera", "opera" },
   { "Emesene", "emesene" },
   { "Thunderbird", "thunderbird" }
}
mediamenu = {
   { "Ncmpcpp", "urxvt -e ncmpcpp" },
   { "Ario", "ario" },
   { "Vbox", "virtualbox" },
   { "Gtkrmd", "gtk-recordMyDesktop" },
   { "Umplayer", "umplayer" },
   { "Winff", "winff" },
   { "Brasero", "brasero" }
}
officemenu = {
   { "L-office","libreoffice" }
}
gamemenu = {
   { "Dolphin", "dolphin-emu" }
}
manamenu = {
   { "Thunar", "thunar" }
}
editormenu = {
   { "Vim", "urxvt -e vim" },
   { "Leafpad", "leafpad" }
}
graphimenu = {
   { "Viewnior", "viewnior" },
   { "Gimp", "gimp" },
   { "Agave", "agave" }
}
sistemenu = {
   { "Htop", "urxvt -e htop"},
   { "Bleachbit", "gksudo bleachbit" },
   { "Firestarter", "gksudo firestarter" },
   { "Gparted", "gksudo gparted" },
   { "Amdcccle", "gksudo amdcccle" },
   { "Lxappearance", "lxappearance" },
   { "Qtconfig", "/usr/bin/qtconfig" }
}

mymainmenu = awful.menu({ items = { { "Awesome", myawesomemenu },
                                    { "Internet", internetmenu },
				    { "Media", mediamenu },
				    { "Manager", manamenu },
				    { "Games", gamemenu },
				    { "Office", officemenu },
				    { "Graphics", graphimenu },
				    { "Editor", editormenu },
                                    { "System", sistemenu },
				    { "Terminal", terminal },
				    --{ "Oblogout", "oblogout" }
                                  }
                        })

mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
                                     menu = mymainmenu })
-- }}}

-- {{{ Wibox
-- Create a textclock widget
mytextclock = awful.widget.textclock({ align = "right" })

-- Create a systray
mysystray = widget({ type = "systray" })

-- Separator (daes)
separator = widget({ type = "textbox" })
separator.text = '<span color="#a2a2a2"> </span>'

-- Clock widget (daes)
datewidget = widget({ type = "textbox" })
vicious.register(datewidget, vicious.widgets.date, '<span color="#a86500">[</span> %d %B %R <span color="#a86500">]</span>', 60)

-- Vol widget (daes)
volwidget = widget({ type = "textbox" })
vicious.register(volwidget, vicious.widgets.volume, '<span color="#a2a2a2">$1%</span>', 1, "Master")

-- Vol icon (daes)
volicon = widget({ type = "imagebox", align = "right" })
volicon.image = image("/home/syst/.config/awesome/themes/icons/vol.png")

-- CPU widget (daes)
cpuwidget = widget({ type = "textbox" })
vicious.register(cpuwidget, vicious.widgets.cpu, 'Cpu1: <span color="#a2a2a2">$1%</span>')

-- Cpu icon (daes)
cpuicon = widget({ type = "imagebox", align = "right" })
cpuicon.image = image("/home/syst/.config/awesome/themes/icons/cpu.png")

-- Memory usage (daes)
memwidget = widget({ type = "textbox" })
vicious.register(memwidget, vicious.widgets.mem, 'Ram: <span color="#a2a2a2">$1%</span>', 13)


-- Mem icon (daes)
memicon = widget({ type = "imagebox", align = "right" })
memicon.image = image("/home/syst/.config/awesome/themes/icons/mem.png")

-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(
                    awful.button({ }, 1, awful.tag.viewonly),
                    awful.button({ modkey }, 1, awful.client.movetotag),
                    awful.button({ }, 3, awful.tag.viewtoggle),
                    awful.button({ modkey }, 3, awful.client.toggletag),
                    awful.button({ }, 4, awful.tag.viewnext),
                    awful.button({ }, 5, awful.tag.viewprev)
                    )
mytasklist = {}
mytasklist.buttons = awful.util.table.join(
                     awful.button({ }, 1, function (c)
                                              if not c:isvisible() then
                                                  awful.tag.viewonly(c:tags()[1])
                                              end
                                              client.focus = c
                                              c:raise()
                                          end),
                     awful.button({ }, 3, function ()
                                              if instance then
                                                  instance:hide()
                                                  instance = nil
                                              else
                                                  instance = awful.menu.clients({ width=250 })
                                              end
                                          end),
                     awful.button({ }, 4, function ()
                                              awful.client.focus.byidx(1)
                                              if client.focus then client.focus:raise() end
                                          end),
                     awful.button({ }, 5, function ()
                                              awful.client.focus.byidx(-1)
                                              if client.focus then client.focus:raise() end
                                          end))

for s = 1, screen.count() do
    -- Create a promptbox for each screen
    mypromptbox[s] = awful.widget.prompt({ layout = awful.widget.layout.horizontal.leftright })
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = awful.widget.layoutbox(s)
    mylayoutbox[s]:buttons(awful.util.table.join(
                           awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
                           awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
                           awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
                           awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.label.all, mytaglist.buttons)

    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist(function(c)
                                              return awful.widget.tasklist.label.currenttags(c, s)
                                          end, mytasklist.buttons)

    -- Create the wibox
    mywibox[s] = awful.wibox({
	    position = "top",
	    -- screen = s
	    height = 16,
	    border_color = beautiful.border_panel,
	    border_width = beautiful.border_width_panel
    })
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = {
        {
            -- mylauncher,
            mytaglist[s],
            mypromptbox[s],
            layout = awful.widget.layout.horizontal.leftright
        },
        -- mylayoutbox[s],
        separator,
        datewidget,
        separator,
        --separator,
        --memwidget,
        --separator,
        --separator,
        --cpuwidget,
        --separator,
        --separator,
        volwidget,
        separator,
        volicon,
        separator,
        -- mytextclock,
        s == 1 and mysystray or nil,
        mytasklist[s],
        layout = awful.widget.layout.horizontal.rightleft
    }
end
-- }}}

-- {{{ Mouse bindings
root.buttons(awful.util.table.join(
    awful.button({ }, 3, function () mymainmenu:toggle() end),
    awful.button({ }, 4, awful.tag.viewnext),
    awful.button({ }, 5, awful.tag.viewprev)
))
-- }}}

-- {{{ Key bindings
globalkeys = awful.util.table.join(
    awful.key({ modkey,           }, "Left",   awful.tag.viewprev       ),
    awful.key({ modkey,           }, "Right",  awful.tag.viewnext       ),
    awful.key({ modkey,           }, "Escape", awful.tag.history.restore),
    awful.key({ modkey}, "e", revelation),  -- Insert this line

    awful.key({ modkey,           }, "j",
        function ()
            awful.client.focus.byidx( 1)
            if client.focus then client.focus:raise() end
        end),
    awful.key({ modkey,           }, "k",
        function ()
            awful.client.focus.byidx(-1)
            if client.focus then client.focus:raise() end
        end),
    awful.key({ modkey,           }, "w", function () mymainmenu:show({keygrabber=true}) end),

    -- Layout manipulation
    awful.key({ modkey,           }, "v", function () awful.client.swap.byidx(  1)    end),
    awful.key({ modkey, "Shift"   }, "k", function () awful.client.swap.byidx( -1)    end),
    awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
    awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
    awful.key({ modkey,           }, "u", awful.client.urgent.jumpto),
    awful.key({ modkey,           }, "Tab",
        function ()
            awful.client.focus.history.previous()
            if client.focus then
                client.focus:raise()
            end
        end),

    -- Standard program
    awful.key({ modkey,           }, "Return", function () awful.util.spawn(terminal) end),
    awful.key({ modkey, "Control" }, "r", awesome.restart),
    awful.key({ modkey, "Shift"   }, "q", awesome.quit),

    awful.key({ modkey,           }, "l",     function () awful.tag.incmwfact( 0.05)    end),
    awful.key({ modkey,           }, "h",     function () awful.tag.incmwfact(-0.05)    end),
    awful.key({ modkey, "Shift"   }, "h",     function () awful.tag.incnmaster( 1)      end),
    awful.key({ modkey, "Shift"   }, "l",     function () awful.tag.incnmaster(-1)      end),
    awful.key({ modkey, "Control" }, "h",     function () awful.tag.incncol( 1)         end),
    awful.key({ modkey, "Control" }, "l",     function () awful.tag.incncol(-1)         end),
    awful.key({ modkey,           }, "space", function () awful.layout.inc(layouts,  1) end),
    awful.key({ modkey, "Shift"   }, "space", function () awful.layout.inc(layouts, -1) end),
    awful.key({ modkey, "Control" }, "n", awful.client.restore),

    -- Multimedia keys
    awful.key({ modkey, "Shift"    }, "=",    function () awful.util.spawn("amixer set Master 10+") end),
    awful.key({ modkey, "Shift"    }, ")",    function () awful.util.spawn("amixer set Master 10-") end),

    -- Prompt
    awful.key({ modkey },            "r",     function () mypromptbox[mouse.screen]:run() end),

    awful.key({ modkey }, "x",
              function ()
                  awful.prompt.run({ prompt = "Run Lua code: " },
                  mypromptbox[mouse.screen].widget,
                  awful.util.eval, nil,
                  awful.util.getdir("cache") .. "/history_eval")
              end)
)

clientkeys = awful.util.table.join(
    awful.key({ modkey,           }, "f",      function (c) c.fullscreen = not c.fullscreen  end),
    awful.key({ modkey,           }, "q",      function (c) c:kill()                         end),
    awful.key({ modkey, "Control" }, "space",  awful.client.floating.toggle                     ),
    awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
    awful.key({ modkey,           }, "o",      awful.client.movetoscreen                        ),
    awful.key({ modkey, "Shift"   }, "r",      function (c) c:redraw()                       end),
    awful.key({ modkey,           }, "t",      function (c) c.ontop = not c.ontop            end),
    awful.key({ modkey,           }, "n",
        function (c)
            -- The client currently has the input focus, so it cannot be
            -- minimized, since minimized clients can't have the focus.
            c.minimized = true
        end),
    awful.key({ modkey,           }, "m",
        function (c)
            c.maximized_horizontal = not c.maximized_horizontal
            c.maximized_vertical   = not c.maximized_vertical
        end)
)

-- Compute the maximum number of digit we need, limited to 9
keynumber = 0
for s = 1, screen.count() do
   keynumber = math.min(9, math.max(#tags[s], keynumber));
end

-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, keynumber do
    globalkeys = awful.util.table.join(globalkeys,
        awful.key({ modkey }, "#" .. i + 9,
                  function ()
                        local screen = mouse.screen
                        if tags[screen][i] then
                            awful.tag.viewonly(tags[screen][i])
                        end
                  end),
        awful.key({ modkey, "Control" }, "#" .. i + 9,
                  function ()
                      local screen = mouse.screen
                      if tags[screen][i] then
                          awful.tag.viewtoggle(tags[screen][i])
                      end
                  end),
        awful.key({ modkey, "Shift" }, "#" .. i + 9,
                  function ()
                      if client.focus and tags[client.focus.screen][i] then
                          awful.client.movetotag(tags[client.focus.screen][i])
                      end
                  end),
        awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
                  function ()
                      if client.focus and tags[client.focus.screen][i] then
                          awful.client.toggletag(tags[client.focus.screen][i])
                      end
                  end))
end

clientbuttons = awful.util.table.join(
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
    awful.button({ modkey }, 1, awful.mouse.client.move),
    awful.button({ modkey }, 3, awful.mouse.client.resize))

-- Set keys
root.keys(globalkeys)
-- }}}

-- {{{ Rules
awful.rules.rules = {
    -- All clients will match this rule.
    { rule = { },
      properties = { border_width = beautiful.border_width,
                     border_color = beautiful.border_normal,
                     focus = true,
                     keys = clientkeys,
                     buttons = clientbuttons } },
    { rule = { class = "MPlayer" },
      properties = { floating = true } },
    { rule = { class = "pinentry" },
      properties = { floating = true } },
    { rule = { class = "gimp" },
      properties = { floating = true } },
    { rule = { class = "Corona Simulator" },
      properties = { floating = false } },
    -- Set Firefox to always map on tags number 2 of screen 1.
    -- { rule = { class = "Firefox" },
    --   properties = { tag = tags[1][2] } },
}
-- }}}

-- {{{ Signals
-- Signal function to execute when a new client appears.
client.add_signal("manage", function (c, startup)
    -- Add a titlebar
    -- awful.titlebar.add(c, { modkey = modkey })

    -- Enable sloppy focus
    c:add_signal("mouse::enter", function(c)
        if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
            and awful.client.focus.filter(c) then
            client.focus = c
        end
    end)

    if not startup then
        -- Set the windows at the slave,
        -- i.e. put it at the end of others instead of setting it master.
        -- awful.client.setslave(c)

        -- Put windows in a smart way, only if they does not set an initial position.
        if not c.size_hints.user_position and not c.size_hints.program_position then
            awful.placement.no_overlap(c)
            awful.placement.no_offscreen(c)
        end
    end
end)

-- Daes focus
client.add_signal("focus", function(c) c.border_color = beautiful.border_focus
                                       c.opacity = 1
			       end)
client.add_signal("unfocus", function(c) c.border_color = beautiful.border_wnormal
	                                 c.opacity = 0.9
				end)

-- Daes autorun
--function run_once(prg)
--	if not prg then
--		do return nil end
--	end
--	awful.util.spawn_with_shell("pgrep -u $USER -x " .. prg .. " || (" .. prg .. ")")
--end

--run_once("thunar --daemon")
--run_once("xcompmgr")
-- run_once("conky")

-- }}}

os.execute("dropbox start &")
os.execute("xcompmgr &")
os.execute("nautilus --no-desktop &")
os.execute("chromium-browser &")

#3 -1 »  awesome lenteur ouverture des applications » Le 26/12/2014, à 11:08

omnimax
Réponses : 1

Bonjour,

Je suis sous ubuntu 14.10 avec awesome et lorsque j'ouvre une application cela met environ une dizaine de secondes pour l'ouvrir. Par contre quand je ferme ma session me reconnecte sous ubuntu puis me reconnecte sous awesome là les applications s' ouvrent instantanément.  Je précise,  je n'ai pas de sorties d'erreur sur le terminal.  Avez-vous une solution à mon problème?  Merci.

#4 Re : -1 »  awesome lenteur ouverture des applications » Le 27/12/2014, à 14:22

omnimax
Réponses : 1

personne ? de moins en moins de monde sur ubuntu ?

#5 Re : -1 »  encore une mauvaise blague de Gnome-perte de la recherche instantanée » Le 03/12/2014, à 10:48

omnimax
Réponses : 22

je confirme réglage avec perte de la recherche instantanée encore sur la 14.10.....pfiuu ...gnome

#6 -1 »  problème script surveillance dernier fichier » Le 29/05/2014, à 12:45

omnimax
Réponses : 26

Bonjour j'aimerai automatiser l'envoi d'un mail dès que l'on ajoute un fichier sur Dropbox.
Voilà l'ébauche de mon script.

#!/bin/bash
#dropboxalert 
empl=$HOME/Dropbox/
while inotifywait -e create "$empl"; do
sleep 10s # je rajoute ceci pour être sûr que le fichier soit correctement copié
fic=$(ls -R -c -t -I dropboxalert -I dropboxalert~ --reverse "$empl" | tail -n 1) # j'écarte avec -I le nom du script et de sa copie auto car avec les test je l'enregistre souvent
echo "$fic"
done
exit 0

inotifywait marche parfaitement et me retourne automatiquement le fichier créé.
par contre

fic=$(ls -R -c -t -I dropboxalert -I dropboxalert~ --reverse "$empl" | tail -n 1) 
echo "$fic"

ne me renvoi pas le dernier fichier mais l'avant dernier....:( on dirait que le simple fait de lister avec ls change le dernier fichier ajouté ???
si qqun peux éclairer ma lanterne ...Merci

#7 Re : -1 »  problème script surveillance dernier fichier » Le 29/05/2014, à 18:20

omnimax
Réponses : 26

j'ai essayé mais ta soluce ne fonctionne pas non plus. c'est vraiment bizarre;

d'habitude je fais souvent  pour avoir le dernier fichier:

ls -c --color=auto -l -t -h --reverse

et cela marche très bien dans ce cas mais via mon script cela ne donne pas le même résultat.

J'ai trouvé ceci plus pompeux mais qui fonctionne

#!/bin/bash
empl=$HOME/Dropbox/
coucou=$HOME/Bureau/list
while inotifywait -e create "$empl" > "$coucou"; do
list=$(cat "$coucou")
echo "$list"
done
exit 0

#8 Re : -1 »  problème script surveillance dernier fichier » Le 29/05/2014, à 19:59

omnimax
Réponses : 26

non mon ls n'a pas un alias ls

je viens de reproduire l'erreur


touch coucou
CHEMIN:  /home/omnimax   DATE:  jeu 29 mai  21:00:09       
-->  ls -c --color=auto -l -t -h --reverse -R | tail -n 1
-rw-r--r-- 1 syst syst 111M mai 28 20:16 BONUS.zip
CHEMIN:  /home/omnimax   DATE:  jeu 29 mai  21:00:11       
-->  

et coucou a bien été créé.

j'aimerai vraiment comprendre le pourquoi.

#9 Re : -1 »  problème script surveillance dernier fichier » Le 29/05/2014, à 20:09

omnimax
Réponses : 26

j'ai compris l'erreur mais sans savoir la résoudre

ls -R

va chercher récursivement mais sans trier l'ensemble des dossiers par date, seul le dernier résultat sera juste avec 

ls -c --color=auto -l -t -h --reverse

il faudrait pouvoir trier le résultat de ls -R par date puis appliquer le dernier en date

#10 Re : -1 »  problème script surveillance dernier fichier » Le 29/05/2014, à 20:10

omnimax
Réponses : 26

trouvé !

ls -c --color=auto -l -t -h --reverse -R | ls -c --color=auto -l -t -h --reverse | tail -n 1

#11 Re : -1 »  problème script surveillance dernier fichier » Le 29/05/2014, à 21:27

omnimax
Réponses : 26

merci mais cela ne fonctionne toujours pas
noté postmortem pour l'option exclude wink

#!/bin/bash
#dropboxalert
empl=$HOME
while inotifywait -e create "$empl"/* 
do
essai=$(ls -clthR --time-style=+"%s" | sort -nk6 | tail -1)
echo "$essai"
done
exit 0
touch coucou

résultat :

/home/omnimax/ CREATE coucou
-rwxr-xr-x 1 omnimax omnimax  301 1401395267 dropboxalert~

#12 Re : -1 »  problème script surveillance dernier fichier » Le 30/05/2014, à 09:02

omnimax
Réponses : 26

merci Watael, pingouinux et postmortem pour toutes vos réponses, entre temps j'avais trouvé ceci qui fonctionne (merci pingouinux pour sed)

#!/bin/bash


empl=$HOME
log=$HOME/Bureau/list
mail=maildudestinataire

while inotifywait -e create "$empl"/* > "$log"
do
list=$(cat "$log" | sed 's/ CREATE//') 
echo -e ""$list" a été ajouté à votre dropbox\n Ceci est un mail automatique" |  msmtp "$mail"}
done
exit 0

mais c'est clair que c'est bien plus joli et court la soluce de postmortem

#!/bin/bash
mail=maildudestinataire
log=$HOME/Dropbox/log
while fic=$(inotifywait -e create $HOME/ --format %w%f)
do
   echo "$fic a été ajouté à votre dropbox\n Ceci est un mail automatique" |  msmtp "$mail"
   ls -l "$fic" > $log # pour garder une trace de l'activité et c'est vrai que -c n'a plus d'intérêt
done
exit 0

#13 Re : -1 »  problème script surveillance dernier fichier » Le 02/06/2014, à 11:23

omnimax
Réponses : 26

Salut,

Voilà mon script est fonctionnel mais seulement en local, lorsque je l'exécute via le réseau il me met permission denied.
je l'ai lancé en

sudo ./dropalert 

mais résultat identique.

C'est bizarre car j'ai les droits sur ce réseau puisque je peux créer et supprimer dossiers/fichiers. J'ai consulté le man d'inotifywait mais je n'ai rien vu à ce sujet. 
Vous avez une idée ?

ps : les print$6 et print$7 doivent être ajustés en fonction du chemin réseau.


#!/bin/bash
#dropalert
mail="maildestinataire"
path="/run/user/1000/gvfs/smb-share:server=192.168.1.200,share=data/Clients/IPAD"
while fic=$(inotifywait -e create "$path" -r --format %w%f); do
#sleep 60s
rep=$(awk -F "/" '{print $6}' <<< "$fic") 
fichier=$(awk -F "/" '{print $7}' <<< "$fic") 
txt=$(echo -e "Subject : Un nouveau fichier est apparu sur votre Dropbox !\n\nDans le dossier \e[1m"$rep"\e[21m, il s'agit du fichier : \e[1m"$fichier"\n\n\e[21mCe mail est automatisé.")

echo "$txt" | msmtp "$mail"
done
exit 0

#14 Re : -1 »  problème script surveillance dernier fichier » Le 04/06/2014, à 08:16

omnimax
Réponses : 26

edit :

la mise en forme ne fonctionne pas en msmtp donc je l'ai viré
mon script fonctionne via

sudo ln -s emplacementreseau nouveau lien 

c'est pas propre et ne fonctionne qu'à partir de l'ordi du lien, mais au moins cela fonctionne !

#!/bin/bash
#dropalert
mail="maildestinataire"
path="votreemplacement"
while fic=$(inotifywait -e create "$path" -r --format %w%f); do
#sleep 60s
rep=$(awk -F "/" '{print $6}' <<< "$fic") 
fichier=$(awk -F "/" '{print $7}' <<< "$fic") 
txt=$(echo -e "Subject : Un nouveau fichier est apparu sur votre Dropbox ! \n\n Dans le dossier "$rep", il s'agit du fichier : "$fichier" \n\n Ce mail est automatisé.")

echo "$txt" | msmtp "$mail"
done
exit 0

#15 Re : -1 »  Accès Nas fstab cifs problème de droits » Le 11/06/2014, à 12:13

omnimax
Réponses : 10

toujours personne ?

sinon qqun pour me dire comment monter en ligne de commande un partage de la sorte (réalisé via nautilus > se connecter à un serveur)

/run/user/1000/gvfs/smb-share:server=192.168.1.200,share=data

sachant que

sudo mount -t smbfs 192.168.1.200 /mnt/partagessai

avec bien entendu

sudo mkdir /mnt/partagessai

ne fonctionne pas

tout comme

sudo gvfs-mount smb://192.168.1.200/data

#17 Re : -1 »  [résolu]créer un raccourci sur bureau au lieu du terminal » Le 09/06/2014, à 19:31

omnimax
Réponses : 8
ln -s ~/arduino/arduino-1.5.6-r2/arduino ~/Bureau/arduino

#19 -1 »  awk comment faire plus court » Le 31/05/2014, à 12:59

omnimax
Réponses : 5

Bonjour,

je n'arrive pas à utiliser awk sans passer par un fichier texte. N'est il pas possible d'utiliser directement une variable ?

#!/bin/bash
echo "/home/syst/Ubuntu\ One/course" > /home/syst/es
fu=$(awk -F "/" '{print $3}' /home/syst/es)
echo "$fu"
exit 0 

j'aimerai plutôt utilser qqch du genre mais ma syntaxe ne doit pas être bonne.

#!/bin/bash
fic="/home/syst/Ubuntu\ One/course"
fu=$(awk -F "/" '{print $3}' "$fic")
echo "$fu"
exit 0 

merci pour vos réponses, et bon samedi.

#20 Re : -1 »  awk comment faire plus court » Le 31/05/2014, à 16:24

omnimax
Réponses : 5

Super merci pour l'astuce. Pour le champs 3 je comprends maintenant pourquoi je récupère syst.

#21 -1 »  awk sed cut tout ce que vous voulez » Le 29/05/2014, à 21:20

omnimax
Réponses : 3

Voilà j'ai le le fichier essai qui me donne lorsque je fais
cat essai :

/home/omnimax/Bureau/ CREATE Nouveau document 10 a été ajouté à votre dropbox

j'aimerai avoir ce résultat en retirant CREATE:

/home/omnimax/Bureau/ Nouveau document 10 a été ajouté à votre dropbox

J'imagine que c'est réalisable via awk, sed, cut ou autres, mais j'avoue que ces outils sont encore obscurs pour moi et difficiles à maîtriser.
Au passage si vous avez un tuto (facile) pour ces outils de ouf...

Merci si vous passez par ici.

#22 Re : -1 »  awk sed cut tout ce que vous voulez » Le 29/05/2014, à 21:29

omnimax
Réponses : 3

tu es partout smile

merci

#23 Re : -1 »  incrontab ne se lance pas » Le 28/05/2014, à 22:37

omnimax
Réponses : 5

amélioré

#!/bin/bash

dr=$HOME/Dropbox/todolist
while inotifywait -e modify $HOME/Dropbox/todolist; do
     tilda -c "cat "$dr"" & sleep 5m && killall tilda
done
exit 0

#24 Re : -1 »  incrontab ne se lance pas » Le 29/05/2014, à 06:44

omnimax
Réponses : 5

Salut,

Je lance la commande suivante dans mon terminal

d 20 ne pas oublier de sonner à tartenpion

20 minutes plus tard, une notification s'affiche avec ce Msg en me demandant si je veux répéter la tâche ou pas.

Et en parallèle de ceci mes tâches vont dans un fichier todolist sur ma dropbox, qui lorsqu'il contient de nouvelles entrées est automatiquement affiché pour avoir un aperçu de toutes mes tâches en cours.